欢迎来到天天文库
浏览记录
ID:852574
大小:366.53 KB
页数:22页
时间:2017-09-20
《中南大学计算机网络课程设计聊天室》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中南大学CENTRALSOUTHUNIVERSITY计算机网络课程设计报告学生姓名学号班级计算机0908班指导教师阳旺设计时间2012.1.7~2012.1.10目录第一章设计目的、任务1.1设计目的·························31.2设计的任务·······················3第二章系统分析设计2.1系统流程分析······················42.2系统功能需求分析···················52.3系统运行要求······················62.4系统数据要求···········
2、···········6第三章系统实现3.1系统界面设计·····················73.2系统功能模块设计···················9第四章体会和建议第一章设计目的、任务1.1设计目的1.了解通信规范的细节及其实现。2.通过本次网络课程设计,掌握高级编程语言中对用户界面的设计方法,以及多线程技术、基于TCP/IP的Socket通信的编程方法,同时能够把协议的设计思想应用到实际中去。1.2设计的任务编写一个聊天室,实现C/S模式的会话。基本要求可以完成群聊、私人聊天,实时发送和显示聊天信息,完成好友列表;进一步要求带表情,附件发送,
3、聊天信息的加密传送,设置黑名单等。学习通信编程Socket接口编程,使用TCP或UDP接口完成信息传送,利用多线程技术实现服务器端的多个TCP连接的建立。网络聊天是网络编程的典型应用之一,编写网络聊天软件对于学习网络编程无疑有着很大的帮助。第二章系统分析设计2.1系统流程分析该C/S模式的聊天系统,就是服务器来提供服务端连接响应,客户端主动的发起连接请求。当多个用户同时连接到服务器时,经由服务器的接收与转发便可以实现客户之间的通信。因此,系统需要实现服务器端和客户端两部分程序。下图是基本的客户端连接服务器的流程图。ClientServer建立服务器监听soc
4、ket建立连接创建socket向服务器发请求等待并接收连接请求接收请求后创建socket连接开始通信InputStreamInputStreamOutputStreamOutputStream结束通信关闭socket关闭socket对于整体系统的流程,也是分为两部分,即客户端的发起请求,服务器响应请求。首先是客户端的登陆,客户端在登陆时,必须设置所想要连接的服务器,然后客户端就会根据设置的服务器IP地址,向服务器发起建立连接请求。而服务器端是始终在监听网络状态的,主要检测到有一个连接请求,那么服务器就会给当前的发起端分配一个服务线程,用于处理它的各种请求。对
5、于客户端的各种请求,实际上都是通过在客户发往服务器的各种字符流区分的,具体的方法就是在消息的头部以及尾部添加特殊字符串,从而实现服务器对消息请求的识别。比如对于登陆信息,消息的头部就是“PEOPLO”,而对于私聊中的消息,头部就是“SEC”,其他的同理都添加了头部。当然,对于客户端来说,这些都是透明的,用户的操作并没有受到任何影响。在服务器端,消息被检测分析后,变回根据具体的目的进行处理,比如是私聊消息,服务器便会根据其尾部的目的信息,向目标端转发该条消息。这里额外要说的是,该系统特别的对用户发来的消息进行了加密处理,即用户的各种具体信息,不仅能够防止向第三
6、方的泄漏,而且即使服务器端出现异常,信息也不会泄漏。对于私聊的方式,该系统所采用的方法类似于QQ的通信方式,由发起方主动连接,当目的方接收到连接请求后,会主动建立一个私聊窗口,从而实现私聊。2.2系统功能需求分析本系统所要实现的主要功能是为用户提供一个借助网络进行人际交往的平台。因为服务端采用多线程,所以性能有很大提升。因为服务端和客户端之间采用TCP/IP协议进行网络通信,建立的是可靠的、端到端的网络连接,所以可靠性和安全性都很好。本系统主要通过客户端,服务器端来体现聊天系统的基本功能,两者主要的功能如下所示。(1)服务器端1.处理用户登录2.处理用户的各
7、种信息,包括状态信息、聊天信息等3.监控聊天内容,过滤非法内容,并对不法用户实现拉入黑名单4.处理用户退出(2)客户端1.用户登录2.用户发送信息3.用户接收信息4.用户之间的群聊5.用户之间的私聊6、消息发来时,发出提示声音7.显示当前在线用户列表,并且同步更新8.用户私人信息的加密处理9.用户退出2.3系统运行要求运行环境:Windows9x、2000、XP、Windows7必要环境:JDK1.6以上、eclipse开发环境硬件环境:CPU400MHz以上,内存512MB以上2.4系统数据要求1、系统中数据的传送是以字符串的形式传送的。对于不同请求信息的
8、区分是通过在字符串的头部添加系统信息实现的。这些系统
此文档下载收益归作者所有