聊天室系统设计报告

聊天室系统设计报告

ID:31483654

大小:717.00 KB

页数:28页

时间:2019-01-11

聊天室系统设计报告_第1页
聊天室系统设计报告_第2页
聊天室系统设计报告_第3页
聊天室系统设计报告_第4页
聊天室系统设计报告_第5页
资源描述:

《聊天室系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD完美整理版青岛科技大学操作系统课程设计学生班级计算机132班学生学号1308010204学生姓名王永远518182016______年___月___日范文范例参考指导WORD完美整理版目录设计题目:聊天室系统3一、设计目的及要求31.1设计目的31.2设计要求:3二、技术背景32.1网络编程32.2网络通信32.3Socket32.4TCP传输42.5Java的多线程机制4三、需求分析43.1客户端43.1.1登录43.1.2多人聊天43.1.3单人聊天53.2服务器端5四、总体设计54.1设计思想流程

2、图54.2设计思想分析6五、详细设计65.1客户端设计75.1.1登录界面75.1.2聊天室界面75.1.3单人聊天界面75.2服务器端设计8六、系统测试86.1登录测试86.1.1用户名为英文字母86.1.2用户名为中文96.1.3用户名为标点符号96.1.4多个用户有重名106.1.5服务器地址不合法116.1.6端口号不合法126.1.7服务器未开启126.2群发消息测试136.3私聊测试156.4用户列表显示测试16七、心得体会16八、参考资料16九、程序清单16范文范例参考指导WORD完美整理版设计题

3、目:聊天室系统一、设计目的及要求1.1设计目的通过该聊天室系统,掌握网络编程的概念及基于网络的C/S模式软件系统开发,掌握基于TCP协议的Socket编程,掌握Java的多线程机制。1.2设计要求:实现多个用户之间类似于QQ的聊天程序,有聊天界面,多用户之间既可以实现群聊,也可以单独聊天。二、技术背景2.1网络编程就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。2.2网络通信(1)IP地址:网络中设备的标识,不易记忆,可用主机名要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通

4、过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中,这个标识号就是IP地址。(2)端口号:用于标识进程的逻辑地址物理端口网卡口逻辑端口我们指的就是逻辑端口A:每个网络程序都会至少有一个逻辑端口B:用于标识进程的逻辑地址,不同进程的标识C:有效端口:0~65535,其中0~1024系统使用或保留端口。(3)传输协议:通信的规则,常见的有UDP,TCPUDP:将数据源和目的封装成数据包中,不需要建立连接;每个数据报的大小在限制在64k;因无连接,是不可靠协议;不需要建立连接,速度快。TCP

5、:建立连接,形成传输数据的通道;在连接中进行大数据量传输;通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低。2.3Socket(1)Socket套接字网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。(2)Socket原理机制A:通信的两端都有Socket。B:网络通信其实就是Socket间的通信。C:数据在两个Socket间通过IO传输。范文范例参考指导WORD完美整理版2.4TCP传输(1)客户端思路A建立客户端的Socket服务,并明确要连接的服务器。B如果连接建立

6、成功,就表明,已经建立了数据传输的通道.就可以在该通道通过IO进行数据的读取和写入.该通道称为Socket流,Socket流中既有读取流,也有写入流.C通过Socket对象的方法,可以获取这两个流D通过流的对象可以对数据进行传输E如果传输数据完毕,关闭资源(2)服务器端思路A建立服务器端的socket服务,需要一个端口B服务端没有直接流的操作,而是通过accept方法获取客户端对象,在通过获取到的客户端对象的流和客户端进行通信C通过客户端的获取流对象的方法,读取数据或者写入数据D如果服务完成,需要关闭客户端,然

7、后关闭服务器,但是,一般会关闭客户端,不会关闭服务器,因为服务端是一直提供服务的2.5Java的多线程机制进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。多进程是指操作系统能同时运行多个任务(程序),多线程是指在同一程序中有多个顺序流在执行。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个

8、类的时候,实际上都会启动一个JVM,启动JVM实际上就是在操作系统中启动了一个进程。在java中所有的线程都是同时启动的,至于什么时候,哪个先执行,完全看谁先得到CPU的资源。三、需求分析实现聊天的功能,采用Java Socket编程,服务器与客户端采用了TCP/IP连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务器进行处理,服务器端是所有信息的中心。3.1客户端3.1.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。