java课程设计报告

java课程设计报告

ID:20369462

大小:376.00 KB

页数:14页

时间:2018-10-12

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

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

1、局域网聊天系统Java程序设计课程设计报告书——局域网聊天系统1开发背景:当今很多单位都组建了自己的局域网,有些单位不允许员工上班时网上聊天,故在局域网的出口网关上只开通80端口,这给一些工作时需要交流信息或传输文件的工作人员带来不便,他们很需要一个能在局域网内交流信息的聊天软件。还有现在大学生宿舍电脑的普及率很高,他们中有不少只接上了学校的局域网,而没有缴费上Internet网,因此他们也很需要一个局域网内的聊天软件来交流信息。3开发目的:插上网线即可与同一局域网内用户聊天22功能要求:i.打开程序自动搜索好友无需登录ii.能够实现点对点

2、单聊iii.能够实现文件传输iv.能动态更新在线用户列表三、系统设计3.1设计思想整个系统分为服务器和客户端,服务器端维护各个客户端的信息。客户端的所有信息发往服务器端,再由服务器进行消息的分析处理并做出相应的控制,服务器端是所有信息的中心。服务器端可以查看所有用户的聊天记录,监控所有用户的状态,发出用户上线、离线提示等公告,客户端则提供接收公告的功能。本课程设计按照系统的具体功能要求,首先应用Socket编程创建客户端和服务器端,每多个客户端服务器端就会相因的创建一个线程,它们之间通过这个连接来实现数据通信;然后在客户端设置一个监听器,用

3、于监听服务器发来的消息。并根据消息做出不同的动作。3.2系统功能-14-局域网聊天系统该系统实现了用户之间的点对点单人聊天,在线用户之间的群聊。为了加强之间的信息交流,还实现了用户之间文件传输、语音聊天。在客户端和服务器端都可以查看历史消息、保存消息、清空消息。为了监控用户之间的状态,服务器还可以实现踢掉用户的功能,同时用户时间文件传输的信息都会在服务器上显示。3.3系统架构1)选择传输控制协议TCP,使用Java的Socket编程机制,分别建立客户端与服务器端、语音传输使用的是UDP控制协议;2)分别设计客户端与服务器端的界面,并使用Ja

4、va应用程序用户界面的开发工具包Swing进行窗体界面的布局,以及实现部分窗口事件的相应。3.4模块设计3.4.1服务器端:主要实现向各个客户端发布系统消息,接受来自客户端的各种信息并分别处理。具体功能如下:①连接控制:包括启动服务器、断开服务器以及断开某个客户端的连接;②管理作用:包括对参与聊天者的昵称进行修改以及向所有或某个客户端发送消息,维护一个IP地址和昵称所对应的哈希表,以便定位到正确的客户端,且有权强制修改用户昵称;③刷新列表:在有用户登陆或离开的时候实时更新列表,并将信息反馈到各个客户端;④登陆信息:检查用户是否已登陆,如登录

5、,发消息通知所有用户。同时刷新在线用户列表;⑤聊天记录:能保存聊天记录,实现消息的保存、清空以及查看等功能;⑥消息处理:解析客户端与服务器端的消息交互类型,并做出相应处理,能够找到消息所对应的接收端。3.4.2客户端:主要实现向服务器端发布消息,并且对来自服务器的消息做出相应的响应。具体功能如下:①连接功能:输入服务器地址,实现登录及断开功能②登录设置:登录时,发送消息使服务器端获得相关登录信息,昵称及IP地址记录到服务器端维持的哈希表,断开后发送消息使IP地址及昵称从哈希表中删除;③监听作用:实现对服务器发送过来的消息进行监听的功能;④消

6、息处理:接收由服务器端发送来的信息,并做出相应的响应;⑤聊天记录:实现聊天记录的保存、清空以及查看等功能;⑥消息处理:相应从服务器端接收到的消息交互类型,实现用户与用户之间的信息交互和文件交互;⑦传输进度:使用进度条直观地表示用户与用户间文件交互的进度。⑧文件传输:实现客户端之间的文件发送与文件的接收功能。⑨语音聊天:实现客户端之间的语音聊天功能。-14-局域网聊天系统四、详细设计与实现4.1服务器端4.1.1服务器该段功能由Server.java文件中的Server类实现,具体实现过程如下:①启动服务并接收连接:服务器的任务首先是建立一个

7、由IP地址到昵称的映射的哈希表,用于存放用户的基本信息;启动服务器后,等候建立一个连接,然后用这个连接产生的Socket创建一个Client,同时检查该用户是否已存在哈希表中,若以存在,则提示该次连接请求失败,从而实现限制IP的目的;若不存在,则将该IP地址及其昵称或默认昵称的映射添加到哈希表中,接着服务器端向所有的用户发送管理信息,提示有新的用户登录,并且将刷新后的用户列表同时发送到各个客户端。②关闭服务:服务器端遍历哈希表,关掉每一个用户对应的Socket,之后,关闭服务Server。③管理作用之发送消息:服务器端解析由客户端发送的请求

8、,若控制字以“SPECIAL”开头,则通过控制字后的昵称从哈希表中找到对应的用户,实现服务器端到客户端的点对点消息交互;若不是以“SPECIAL”开头,则实现消息的广播发布。④管

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

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

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