java课程设计报告(java聊天室)

java课程设计报告(java聊天室)

ID:32688599

大小:255.00 KB

页数:41页

时间:2019-02-14

java课程设计报告(java聊天室)_第1页
java课程设计报告(java聊天室)_第2页
java课程设计报告(java聊天室)_第3页
java课程设计报告(java聊天室)_第4页
java课程设计报告(java聊天室)_第5页
资源描述:

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

1、...Java聊天室课程设计一、需求分析1.1开发背景在信息化社会的今天,网络飞速发展,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似MSN、QQ,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具的想法,且通过制作该程序还能更好的学习网络软件编程知识。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,

2、数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也得到响应的服务。1.2设计要求本课程设计的目标是利用套接字socket()设计

3、一个聊天程序,该程序基于C/S模式,客户机器向服务器发聊天请求,服务器应答并能显示客户机发过来的信息。1.3设计目的通过设计一个网络聊天程序,对套接字、数据报通讯、URL、与URLConnectiom的相关知识有详细的了解和充分的认识。能将相关的只是运用到相关的实践中去。1.4功能实现聊天室共分为客户端和服务端两部分,服务器程序主要负责侦听客户端发来的消息,客户端需要登录到相应的服务器才可以实现正常的聊天功能。服务器的主要功能有1)在特定端口上进行侦听,等待客户连接2)用户可以配置服务器的真挺端口WORD格式可编辑版...1)向已经连接服务器

4、的客户发送系统消息2)统计在线人数3)当停止服务时,断开所有用户的连接客户端的主要功能1)连接到已经开启聊天服务的服务端2)用户可以配置要连接服务器端的ip地址和端口号3)用户可以配置连接后显示的用户名4)当服务器开启时。用户可以随时登陆和注销5)用户可以向所有人或一个人发送消息一、总体设计2.1设计思想套接字对象在网络编程中扮演者重要的角色,可以用套接字技术编写一个聊天室,服务器为每个客户启动一个线程。在该线程中通过套接字和客户交流信息,当客户向服务器发送一条聊天信息“大家好”时,服务器要让所有的这些线程中的输入流写入信息大家好,这样所有的

5、客户的套接字的输入流就都读取到了这一条信息。如果把信息“你好”发送给特定用户,服务器就让特定线程中的输出流写入信息“你好”,那么只有特定客户的套机字的输入流可以读取到这条信息。在聊天室中需要对用户上线下线的状态进行修改,进而统计在线人数、查找某用户等。因而需要用到java链表来实现。由于Java语言不像c或c++一样可以利用线性表的链式存储结构,用节点和指针来表示,在Java中是没有指针的,但是可以通过使用对象的引用来实现链表。链表的结点个数称为链表的长度。因此在Java中可以定义两个类来实现链表的操作,分别为节点类和链表类。在本设计中对用户

6、的存储就是利用链表来实现的。2.2基本设计概念和处理流程本系统运行用JAVA开发,采用CS结构,系统分为客服端和服务端两大模块,使用Socket类建立套接字实现客服端和服务端得通讯。处理流程WORD格式可编辑版...客户端服务端发送请求处理请求服务端客户端一个ServerSocket对象和一个Socket对象一个Socketd对象ServerSocket(port)创建ServerSocket对象提供TCP连接服务Accept()在指定端口等待客户端的连接请求连接成功,获得一个已连接的socket对象InputStream读取Socket对

7、象的输入流OutputStream写入Socket对象的输出流InputStream读取Socket对象的输入流OutputStream写入Socket对象的输出流Socket(host,port)创建Socket对象,向指定主机端口发出连接请求Socket.close()关闭TCP连接ServerSocket.close()停止提供TCP连接服务Socket.close()关闭TCP连接建立Socket连接申请连接通过流传送数据TCPSocket通信流程WORD格式可编辑版...2.3总体结构网络聊天室服务端客服端2.4功能分配客户端向所有

8、人或一个人发送消息客户端连接服务端配置服务端登录与注销服务端WORD格式可编辑版...服务端等待客户连接配置服务器侦听端口向用户发送系统消息统计在线人数、断开连接等

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

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

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