计算机网络聊天室课程设计汇本
java网络聊天室课程设计报告(内附代码)

课程设计网络聊天室院(系) 别信电学院班级计算102学号姓名指导教师时间2013-4-18—2013-5-10 课程设计任务书题目网络聊天室课程设计系(部) 信电学院专业计算机科学与技术班级计算102学生姓名学号4 月18 日至5 月10 日共 4 周指导教师(签字)系主任(签字)年月日成绩评定表目录课程设计概述 (3)1.1问题描述 (3)1.2功能需求分析 (3)1.3环境需求分析 (3)学生信息管理系统软件总体设计 (4)2.1整体思路 (4)2.2总体设计流程图 (5)学生信息管理软件详细设计 (6)3.1.界面设计 (6)3.2通信功能实现方法 (8)参考文献 (44)摘要私達の実践の能力を高めるため、学んだ知識を運用することができて行って更に創造して、学校は特に2週間手配して、私達にVisual C++の課程の設計の実習を行わせます.このファイルの詳しい説明はVisual C++6.0環境の下で、1つのソフトウェアの過程を設計して、このソフトウェアは各種のデータの個数を統計したのです。
このソフトウェアの機能は、ユーザーは1段の文字を入力して、ソフトウェアは文字の中の各類のデータの数を記録して、英文のデータの数、数字のデータの数、空欄のデータの数とそれのタイプのデータの数を含んで、そしてそれらを明らかに示します.以下、課程を通して説明を設計して、データはソフトウェアの説明を統計して、プログラムは説明を調整して、総括などの方面を開発して、詳しくこのプログラムの製作の過程を説明して、作用、各種の実行することができる操作.关键字:データの統計,VC++6.0, ヘッドファイル课程设计概述1.1问题描述`随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。
因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。
JAVA课程设计报告聊天室

JAVA课程设计报告聊天室一、课程目标知识目标:1. 学生能理解网络编程的基本概念,掌握JAVA Socket编程的基础知识。
2. 学生能运用面向对象编程思想,设计并实现聊天室客户端与服务器的数据传输功能。
3. 学生了解并掌握多线程技术在网络编程中的应用。
技能目标:1. 学生能运用所学知识,独立编写并调试简单的聊天室程序。
2. 学生具备分析问题、解决问题的能力,能针对聊天室程序进行优化和改进。
3. 学生能在团队协作中发挥自己的作用,与他人共同完成一个完整的网络编程项目。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,增强学习JAVA的自信心。
2. 学生认识到团队合作的重要性,培养良好的团队协作精神。
3. 学生通过编程实践,体验创新与创造的乐趣,培养积极向上的学习态度。
本课程针对高年级学生,结合课本内容,注重理论与实践相结合,以提高学生的实际编程能力为主要目标。
课程要求学生在掌握基本知识的基础上,能够独立完成实际项目,培养其分析问题、解决问题的能力。
同时,课程强调团队协作,使学生学会与他人共同进步,共同成长。
通过本课程的学习,使学生达到知识、技能和情感态度价值观的全面提升。
二、教学内容1. 网络编程基础理论:介绍网络编程的基本概念,包括IP地址、端口号、协议等,使学生理解网络通信的基本原理。
- 教材章节:第三章 网络编程基础2. JAVA Socket编程:讲解Socket编程的原理,指导学生掌握客户端与服务器之间的数据传输方法。
- 教材章节:第四章 Socket编程3. 面向对象编程:运用面向对象编程思想,设计聊天室程序,包括类的定义、封装、继承与多态。
- 教材章节:第二章 面向对象编程基础4. 多线程技术:介绍多线程编程的概念,分析在聊天室程序中如何实现多用户并发通信。
- 教材章节:第五章 多线程编程5. 聊天室程序设计与实现:指导学生完成聊天室客户端与服务器的编写,实现基本的功能需求。
聊天室课程设计

聊天室课程设计一、课程目标知识目标:1. 学生能理解并掌握网络聊天室的基本概念,了解其功能和用途;2. 学生能够运用所学的词汇和语法知识,进行流畅的网络交流;3. 学生能够识别并使用网络聊天室中的常用表达方式和礼貌用语。
技能目标:1. 学生能够熟练操作网络聊天室软件,包括发送消息、接收消息和表情使用等;2. 学生能够运用所学的交际技巧,与他人进行有效的网络对话;3. 学生能够通过聊天室进行信息搜索和问题解答,提高信息获取和处理能力。
情感态度价值观目标:1. 学生能够树立正确的网络交流意识,尊重他人,保持友善和礼貌的态度;2. 学生能够意识到网络聊天室的积极作用,如增进友谊、拓展知识等;3. 学生能够认识到网络聊天室的潜在风险,学会保护个人隐私,遵守网络道德规范。
课程性质:本课程为信息技术与英语学科的融合课程,旨在提高学生的网络交流能力和英语实际应用能力。
学生特点:六年级学生已具备一定的英语基础和计算机操作技能,对网络聊天室充满好奇,但可能缺乏安全意识和正确使用网络的能力。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,通过互动交流、案例分析等方式,培养学生的网络沟通能力和信息安全意识。
将课程目标分解为具体学习成果,便于教学设计和评估。
二、教学内容1. 网络聊天室基本概念:介绍网络聊天室的定义、功能、分类及其在日常生活和学习中的应用场景。
教材章节:《信息技术》第五章第三节“网络交流工具”2. 网络聊天室操作技巧:教授如何注册、登录聊天室,发送消息、接收消息、使用表情和图片等功能。
教材章节:《信息技术》第五章第四节“网络聊天工具的使用”3. 网络聊天室交际礼仪:讲解网络聊天室中的礼貌用语、表达方式以及尊重他人、保护隐私等原则。
教材章节:《英语》第六单元“Social Etiquette”4. 网络安全与道德:引导学生了解网络聊天室的安全风险,教育学生保护个人信息,遵守网络道德规范。
教材章节:《信息技术》第五章第五节“网络安全与道德”5. 实践活动:组织学生进行网络聊天室模拟对话,提高实际应用能力和网络沟通技巧。
计算机网络课程设计报告--聊天程序

计算机网络课程设计报告题目:网络聊天程序的设计与实现姓名:申超明学号:0705010313班级:计算机3班指导老师:文宏湖南科技大学计算机科学与工程学院2010年9月一:实验名称网络聊天程序的设计与实现二:实验目的了解Socket通信的原理,并通过程序实现通信的过程。
三:实验要求熟悉Socket程序通信过程,熟悉在通信过程中流之间的转换。
程序中熟悉灵活运用线程执行相关操作。
四:实验原理Socket通信的原理还是比较简单的,它大致分为以下几个步骤。
服务器端的步骤如下:建立服务器端的Socket,开始侦听整个网络中的连接请求。
当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之间的连接。
当完成通信后,服务器关闭与客户端的Socket连接。
客户端的步骤如下:建立客户端的Socket,确定要连接的服务器的主机名和端口。
发送连接请求到服务器,并等待服务器的回馈信息。
连接成功后,与服务器进行数据的交互。
数据处理完毕后,关闭自身的Socket连接。
五:程序截图:图1-服务器端启动服务器图2-客户端连接数据库图3-客户端发送消息图4-服务器段接收客户端发送过来的消息六:程序代码:Qserver.csusing System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using ;using .Sockets;using System.Threading;namespace WindowsApplication2{public partial class qserver : Form{public qserver(){InitializeComponent();}private string ipv4;private void Form1_Load(object sender, EventArgs e){IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName());ipv4 = ip[0].ToString();bel4.Text = ipv4;}TcpListener tcpls;Socket sk;NetworkStream ns;StreamReader sr;StreamWriter sw;Thread tred;private void button1_Click(object sender, EventArgs e){tcpls = new TcpListener(1235);tcpls.Start();MessageBox.Show("服务器已启动");this.button1.Enabled = false;sk = tcpls.AcceptSocket();MessageBox.Show("客户端已连接");ns = new NetworkStream(sk);sr = new StreamReader(ns, Encoding.UTF8);sw = new StreamWriter(ns, Encoding.UTF8);}string smessage = "";private void button2_Click(object sender, EventArgs e){this.textBox1.Focus();tred = new Thread(new ThreadStart(this.acceptcm));tred.Start();this.textBox2.Focus();}private void button3_Click(object sender, EventArgs e){sendtoc();this.textBox2.Focus();}private void textBox2_KeyPress(object sender, KeyPressEventArgs e) {if (e.KeyChar == '\r')sendtoc();}private void acceptcm(){lock (this){try{if (sr.ReadLine() != null){this.textBox1.Text += sr.ReadLine();}elsereturn;}catch (System.Exception ex){}finally{tred.Abort();}}}public void sendtoc(){try{smessage = "\r\n" + this.textBox3.Text + "(" + DateTime.Now.ToLongTimeString() + ")" + " " + this.textBox2.Text;this.textBox1.Text += smessage;this.textBox2.Clear();sw.WriteLine(smessage);sw.Flush();}catch{MessageBox.Show("服务器端错误");}}private void qserver_FormClosed(object sender, FormClosedEventArgs e){if (tcpls != null)tcpls.Stop();//if (tred != null)// tred.Abort();Application.Exit();}}}客户端代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using ;using .Sockets;using System.Threading;namespace Client{public partial class qclient : Form{public qclient(){InitializeComponent();}TcpClient tcpct;NetworkStream ns;StreamReader sr;StreamWriter sw;Thread trdc;/// <summary>/// 连接服务器操作,发送socket请求/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){try{string ip = this.textBox4.Text + "." + this.textBox5.Text + "." + this.textBox6.Text + "." + this.textBox7.Text;tcpct = new TcpClient(ip, 1235);ns = tcpct.GetStream();sr = new StreamReader(ns);sw = new StreamWriter(ns);this.button1.Enabled = false;}catch{MessageBox.Show("请确认是否开启服务器...");}}string cmessage = "";/// <summary>/// 发送消息事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){try{sendtos();}catch{// MessageBox.Show("出错啦!"+"\r\n"+"1.你是否已经连接服务器?"+"\r\n"+"2.等待服务器发回消息.");}finally{this.textBox2.Focus();}}/// <summary>/// 发送函数/// </summary>public void sendtos(){if (this.textBox2.Text == "") //发送{MessageBox.Show("内容不能为空");return;}else{cmessage = "(" + DateTime.Now.ToLongTimeString() + ")" + "\r\n" + this.textBox3.Text + this.textBox2.Text;this.textBox1.Text += cmessage;this.textBox2.Clear();// savechathistrory();sw.WriteLine(cmessage);sw.Flush();}}/// <summary>/// 接收函数/// </summary>public void acceptsm(){lock (this){try //接收{this.textBox1.Text += sr.ReadLine() + "\r\n";// savechathistrory();}catch{// MessageBox.Show("出错啦!" + "\r\n" + "1.你是否已经连接服务器?" + "\r\n" + "2.没有服务器消息.");}finally{trdc.Abort();}}}/// <summary>/// 接收消息事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){this.textBox1.Focus();trdc = new Thread(new ThreadStart(acceptsm));trdc.Start();this.textBox2.Focus();}/// <summary>/// 保存历史记录,未做./// </summary>private void savechathistrory(){StreamWriter fsw = new StreamWriter(erAppDataPath + "chathistory.txt", false, Encoding.UTF8);sw.WriteLine(this.textBox1.Text);fsw.Flush();fsw.Close();}/// <summary>/// 文件关闭之后,关闭客户端,关闭活动的线程/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void qclient_FormClosed(object sender, FormClosedEventArgs e){if (tcpct != null)tcpct.Close();Application.Exit();}/// <summary>/// 历史记录查看,未做。
计算机网络技术应用课程设计 (2)

计算机网络技术应用课程设计一、前言计算机网络技术是计算机科学与技术中的重要一环,在现代社会中应用广泛。
为了提高学生对计算机网络技术的应用水平,本校开设了《计算机网络技术应用》这门课程。
在该课程的学习中,设计综合实践项目,是提高学生应用能力的关键。
本文档旨在记录《计算机网络技术应用》课程设计的有关步骤、技术实现、操作说明及出现的问题及解决方法等,以作为参考资料。
二、项目背景本次课程设计是针对学生的网络应用实践能力进行培养,通过设计和实现一个简单的聊天室应用来深入理解计算机网络技术的应用。
聊天室是一种基于网络的文字互动平台,可以满足用户在网络上交流的需求,具有一定的社交性和娱乐性。
本课程设计的项目即是实现了一个简单的聊天室应用。
三、项目要求1.实现一个基于客户端-服务器架构的聊天室应用。
2.客户端可以通过TCP协议连接服务器,并在聊天室中向其他在线用户发送消息。
3.服务器可以维护多个用户的在线状态,并对来自客户端的请求进行处理。
4.应用需要具备基本的界面交互功能。
四、技术实现1. 程序设计框架本课程设计的程序采用客户端-服务器架构,由一个简单的聊天室应用组成,其主要由客户端和服务器两部分构成,客户端仿照图形界面实现,用户可以在聊天室应用中自由的与其他在线用户进行聊天和交流。
2. 技术实现方案本课程设计中,我们选择使用Python语言和Qt GUI框架来进行开发实现。
其中,Python语言具有简单易学、开发效率高等优点,而Qt GUI框架能够实现良好的用户界面交互效果,适合于快速开发软件。
以下是聊天室应用的技术实现方案:1.服务器端•服务器端使用Python语言编写。
•实现多线程服务器,使用socket模块进行TCP连接。
•通过字典管理用户连接状态,使用json模块进行数据的序列化和反序列化。
2.客户端•客户端使用Python语言编写并借助Qt GUI库进行界面设计和实现。
•实现TCP连接,通过字典对用户数据进行序列化和反序列化。
c聊天室课程设计

c 聊天室课程设计一、课程目标知识目标:1. 学生能理解网络聊天室的基本概念,掌握聊天室的功能与用途。
2. 学生能掌握网络交流的基本礼仪,了解网络安全相关知识。
3. 学生能运用所学的编程知识,实现简单的聊天室功能。
技能目标:1. 学生能够利用编程工具,设计并实现一个简单的聊天室程序。
2. 学生能够运用网络聊天室进行有效沟通,提高信息交流能力。
3. 学生能够分析和解决聊天室使用过程中遇到的问题,具备一定的网络故障排查能力。
情感态度价值观目标:1. 培养学生对网络通信的兴趣,激发学生主动探索网络技术的热情。
2. 培养学生良好的网络沟通素养,尊重他人,遵守网络道德规范。
3. 增强学生的网络安全意识,提高自我保护能力,树立正确的网络价值观。
本课程针对五年级学生设计,结合教材内容,注重培养学生的实际操作能力和网络素养。
通过本课程的学习,使学生能够掌握网络聊天室的相关知识,提高网络沟通能力,同时培养良好的网络行为习惯和价值观。
在教学过程中,注重理论与实践相结合,鼓励学生积极参与,充分调动学生的学习兴趣和积极性。
课程目标的设定旨在让学生在轻松愉快的氛围中学习,提高教学效果。
二、教学内容1. 网络聊天室概述- 聊天室的定义与功能- 聊天室的分类与适用场景2. 网络通信基础知识- 网络协议与网络模型- IP地址、端口号及其作用3. 编程实现聊天室功能- 选择合适的编程语言(如Python)- 实现客户端与服务器的数据传输- 聊天室界面设计及功能实现4. 网络安全与网络礼仪- 常见网络安全问题及预防措施- 网络礼仪与沟通技巧5. 实践操作与案例分析- 搭建简易聊天室环境- 分析实际聊天室案例,了解其优缺点- 课堂实践:学生分组设计并实现聊天室程序教学内容根据课程目标进行选择和组织,确保科学性和系统性。
本课程参照教材相关章节,结合学生实际情况,制定以下教学大纲:第1周:网络聊天室概述、网络通信基础知识第2周:编程实现聊天室功能(1)第3周:编程实现聊天室功能(2)第4周:网络安全与网络礼仪、实践操作与案例分析在教学过程中,教师需关注学生的学习进度,及时调整教学内容和教学方式,确保学生能够扎实掌握所学知识,提高实践操作能力。
网络与通信 聊天室 课程设计报告
中南大学《网络与通信》课程设计报告设计报告题目:网络聊天学院:信息科学与工程学院专业:电子信息0802姓名:王昊学号:0909080925指导教师:邓晓衡完成时间:2011年7月15日目录一、前言 (3)二、课程设计题目及要求 (3)三、实验通信原理 (4)四、功能模块描述 (6)五、实验部分主要程序 (6)六、实验程序截图 (9)七、关键部分源码 (13)八、问题及解决方案 (22)九、心得体会与总结 (22)一.前言:随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。
因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。
因此出现了QQ等聊天工具,然而QQ等聊天工具虽然方便、实用,但是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为用于即时通讯、文件共享的专用工具。
目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它们中大部分都是绝对的C/S模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流。
为此,我决定开发一个专用于实现两台计算机之间即时通讯、文件共享的软件,以方便两台计算机之间信息的交流。
避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接。
因此,这个软件是极具适应性和实用性的即时通讯软件。
二.课程设计题目及要求:网络聊天任务:实现网络聊天的功能,采用Windows Socket(或Java Socket)编程,服务器与客户端采用了TCP/IP连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务器进行处理,服务器端是所有信息的中心。
服务器端要保存用户信息,可利用数据库来实现这一功能,需要建立用户信息数据库。
在客户端可采用文件系统保存聊天纪录和用户号码。
可通过闪动托盘图标和播放不同的音乐提示信息到来及好友上线等信息。
课程设计网络聊天程序
课程设计网络聊天程序一、课程目标知识目标:1. 让学生掌握网络聊天程序的基本原理和概念,如客户端与服务器通信、数据传输协议等。
2. 学习并理解编程语言中与网络编程相关的库和函数,如套接字编程等。
3. 了解网络聊天程序的安全性和隐私保护措施。
技能目标:1. 培养学生运用所学知识,设计并编写简单的网络聊天程序。
2. 提高学生分析问题、解决问题的能力,使其在遇到网络聊天程序相关问题时,能够独立思考并找到解决方案。
3. 培养学生团队协作能力,通过小组合作完成复杂的网络聊天程序设计。
情感态度价值观目标:1. 激发学生对网络编程的兴趣,提高其学习积极性。
2. 培养学生遵守网络道德规范,注重保护个人隐私,增强网络安全意识。
3. 引导学生认识到网络聊天程序在日常生活和学习中的积极作用,避免沉迷于网络聊天,合理安排时间。
分析课程性质、学生特点和教学要求:本课程为信息技术学科,旨在让学生掌握网络聊天程序的设计与实现。
学生为初中生,具有一定的编程基础和网络知识。
教学要求注重理论与实践相结合,通过实际操作和小组合作,让学生在实践中掌握网络聊天程序的设计方法。
将目标分解为具体的学习成果:1. 学生能够描述网络聊天程序的基本原理和概念。
2. 学生能够运用所学编程知识,编写简单的网络聊天程序。
3. 学生能够在遇到问题时,通过查阅资料、小组讨论等方式,找到解决方案。
4. 学生能够遵循网络道德规范,注重个人隐私保护,具备基本的网络安全意识。
二、教学内容1. 网络聊天程序基本原理:介绍网络聊天程序的工作原理,包括客户端与服务器通信、数据传输过程、数据包结构等。
2. 编程语言网络库和函数:学习Python语言中socket库的使用,了解套接字编程的基本方法,如创建socket、绑定端口、监听连接、数据收发等。
3. 网络聊天程序设计:分析网络聊天程序的功能模块,如用户注册、登录、添加好友、发送消息等,学习如何设计程序架构和流程。
4. 安全性与隐私保护:讲解网络聊天程序中涉及的安全性问题,如数据加密、防止中间人攻击等,以及如何保护用户隐私。
Java课程设计聊天室(含代码)【范本模板】
Java程序课程设计任务书JAVA聊天室的系统的设计与开发1.主要内容:用JA V A实现基于C/S模式的聊天室系统。
聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能.2。
具体要求(包括技术要求等):系统的功能要求:A。
服务器端主要功能如下:1.在特定端口上进行侦听,等待客户端连接.2.用户可以配置服务器端的侦听端口,默认端口为8888.3。
向已经连接到服务器端的用户发送系统消息。
4。
统计在线人数。
5.当停止服务时,断开所有的用户连接.B。
客户端的主要功能如下:1。
连接到已经开启聊天服务的服务器端。
2。
用户可以配置要连接的服务器端的IP地址和端口号。
3。
用户可以配置连接后显示的用户名。
4。
当服务器端开启的话,用户可以随时登录和注销。
5。
用户可以向所有人或某一个人发送消息。
学习并掌握一下技术:Java JavaBean 等熟练使用一下开发工具:Eclipse,JCreator 等实现系统上诉的功能。
3.进度安排:12月28日~12月29日:课程设计选题,查找参考资料12月30日~ 1月1日:完成系统设计1月2日~1月5日:完成程序代码的编写1月6日:系统测试与完善1月7日:完成课程设计报告,准备答辩4.主要参考文献:[1]。
张广彬孟红蕊张永宝。
Java课程设计(案例精编)[M].清华大学出版社.2007年版摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。
基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。
一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC—ODBC桥访问数据库.本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则.系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。
网络聊天室课程设计报告(内附java代码)
课程设计网络聊天室院 (系) 别信电学院班级计算102学号姓名指导教师时间2013-4-18—2013-5-10课程设计任务书题目网络聊天室课程设计系(部)信电学院专业计算机科学与技术班级计算 102学生姓名学号4月 18日至5月10日共 4 周指导教师 (签字 )系主任(签字)年月日一、设计内容及要求二、设计原始资料1)电子工业出版社《JSP实用教程》,郑阿奇编著2)电子工业出版社《JAVA程序设计实用教程》,叶核亚编著三、设计完成后提交的文件和图表1.计算说明书部分JSP界面设计2.图纸部分:程序流程图四、进程安排五、主要参考资料1)电子工业出版社《JSP实用教程》,郑阿奇编著2)电子工业出版社《JAVA程序设计实用教程》,叶核亚编著考资料成绩评定表作品成绩报告成绩口试(答辩)总评成绩成绩目录课程设计概述 (2)1.1 问题描述 (2)1.2 功能需求分析 (2)1.3 环境需求分析 (2)学生信息管理系统软件总体设计 (3)2.1 整体思路 (3)2.2 总体设计流程图 (4)学生信息管理软件详细设计 (5)3.1.界面设计 (5)3.2 通信功能实现方法 (7)参考文献 .....................................................................................................................................................................................错误!未定义书签。
课程设计概述1.1 问题描述`随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。
因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机网络》课程
设计报告
设计题目: 聊天室
同组人: 王巍瑾
马志超
周 旭
同组人学号: 20151515105
20151515104
20151515138
专业班级: 计科153
指导教师: 金松林
日 期: 2017年6月12日—16日
一、 题目意义和需求分析
1. 题目意义
即时通讯或在线聊天是目前Internet上最为流行的通讯方式,用户之间通过
文字传输信息。这是一种可以让使用者在网络上建立私人聊天室的实时通讯服
务。除了简单的文字信息,使用者之间还可以互相发送文件、文档、音乐、视频
等文件。只要与服务器,无论对方在天涯海角,双方隔得多远都没有问题。
消息的实时更新,拉近了我们相知的桥梁,文件的相互传输,使同事之间办
公更方便快捷。
2. 需求分析
a. 注册
当选择注册时,创建一个File文件类,载入“user.txt”,判断用户名是否
已经存在,用户名有效后写入“user.txt”。
b. 登录
去“user.txt”读取用户数据,验证用户名是否存在,验证用户密码是否
正确,如果以上验证全部正确,返回客户端信息,提示登陆成功进入聊天界
面。
c. 聊天
所有已登录的用户的名称都会在列表中显示,然后就可以选择其中一个或
多个发起聊天。
接收用户聊天信息,当用户发送聊天信息时,服务端将会收到客户端用
Socket传输过来的聊天信息对象,然后将其转换为Message对象,返回聊
天信息,然后系统从Message中提取消息类型,再根据类型将消息转化后
通过Socket转发到相应的用户。
d. 文件传输
在聊天的基础上增加了一个文件传输功能。
同事之间办公难免有一些资料的来往,在登录列表中选择一个用户或多个
用户发送文件,等对方确认接收后即可建立连接进行文件传输。
二、设计说明
聊天室总体分为三个模块 ,主要包括注册登录,聊天模块,文件传输模块。
系统运行在java环境中,要求java环境为JDK 1.8+;
设计中的重点是通过Java中的ServerSocket搭建TCP服务器,通过在客
户端创建Socket套接字连接服务器,然后通过ObjectOutputStream来发送
Message(数据消息的封装类)对象让服务器接受。通过线程来存储来存储用
户的Socket连接状态,接受并处理用户发过来的信息,返回处理信息。客户机
也通过线程来接受服务器的处理数据做出响应。
设计的难点是文件的传输,首先通过原有的服务器获得目标客户机的IP地
址和端口,然后在客户机上建立服务器,通过要发送的文件的客户机连接接受文
件的客户机用DataInputStream 和DataOutputStream 来推送到输入、输出
流。然后客户机接受并保存。
三、系统详细设计
1. 功能模块
聊天系统
账户聊天
登录跟好友聊天向好友发送文件注
册
2. 流程图
开始
结束
开启服务器
N
打开登陆窗口
Y
登陆注册
账号密码是否
正确
用户是否已存
在
注册成功
N
Y
N
登陆成功
Y
聊天窗口
水深火热的聊天
选择文件进行传输
选择一个或多
个好友
双击
等待对方确认
正在传输
Y
N
传输完成
N
Y
是否下线
Y
N