- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聊天室程序设计聊天室程序设计
JAVA网络编程
------文本传输
学院:通信与信息工程
班级:电子商务1002班
姓名:王鹏飞
学号:1007100222
JAVA 网络聊天室
功能描述
网络聊天室是一种应用广泛网络聊天方式,操作简单,功能丰富,是教学和学习面向对象的编程思想的理想项目。可以使用多种编程语言设计和开发出功能完善的网络聊天室。
本系统采用C/S架构设计,用JAVA语言设计和实现,整个项目分为服务器端和客户端。使用了最新的JAVA SE标准Swing组件,开发出简洁美观布局合理的客户端和服务器界面;利用Socket网络开发技术实现客户端和服务器端的连接访问,实现网络通信功能;通过对数据流合理的封装,实现信息发送和接受。同时,采用多线程、多任务的设计思想,令服务器性能稳定,客户端通信流畅,基本实现聊天室的功能。
服务器端功能:
服务器的基本功能有:启动服务器,关闭服务器,监听客户端连接请求,显示在线用户,显示客户端连接信息,发送系统消息等。
服务器端功能描述:
启动服务器:客户在运行服务端程序后,点击启动服务器,服务器程序创建并箭筒特定端口的ServerSocket,并启动一个主线程,等待客户端的连接,如果有客户端连接,服务器向工作线程队列中加入与客户通信的任务,工作线程不断从工作线程中取出任务并执行。同时在服务器消息面板中显示,服务器启动成功。
关闭服务器:服务器关闭时,向所有连接的客户端发送消息,告知将服务器关闭,同时关闭socket,之后服务器界面关闭
监听客户端请求:服务器在启动后一直监听客户端的运行情况,比如有新用户登录,用户退出等。
显示在线用户:用户登录后即客户端与服务器连接成功,服务器端用户列表界面显示出所有登录用户的用户名,用户退出后服务器更新用户列表
显示用户连接信息:用户在登录成功后,服务器端服务信息界面显示用户登录的信息,包括客户端IP地址,端口号。
发送系统消息:可以从服务器端广播系统消息,该消息会发送给所有连接的客户端,此功能 可用于服务器管理者向所有用户发送重要的系统消息。
服务器界面如下图所示:
客户端功能:
客户端有用户登录功能,连接服务器功能,断开服务器供,显示聊天室所有在线用户功能,统计聊天室用户数量功能,显示当前用户用户名的功能,聊天室聊天功能,用户退出聊天室等功能。
功能图如下图所示:
具体功能描述:
用户登录:用户打开聊天室客户端程序后,输入用户名,点击连接服务器,就可以进入聊天室系统,为防止用户不知道服务地址和端口号,用户界面上已经将服务地址和端口号设定,且不能更改,用户只需输入用户名,只要用户名符合要求,可以输入任何用户名,无需注册,任何人都可以登录,退出后不会留下个人信息,如果需要再次登录只需再次输入用户名即可,可以与上次登录的用户名不一致。
连接服务器:用户在输入用户名后,点击连接服务器即可进入聊天室系统,否则无法发送消息。此时服务器接收客户端的请求,与客户端建立通信,服务器显示用户的练级信息,及新用户的用户名,端口号,同时告知聊天室其他成员,某某用户加入聊天室,更新服务器与所有客户端的用户列表。
断开服务连接:用户在登录聊天室成功后,如果想要退出系统,可以点击断开服务器,或点击关闭按钮,或点击窗口关闭按钮就可退出聊天室,与服务器断开练级,用户可以重新登录。
显示在线用户列表:用户在登录聊天室后,服务器端增加新用户的用户名,同时遍历原有用户列表,将新用户的用户名增加到用户列表中,同时更新所有客户端的用户列表,并显示更新结果。
统计聊天室所有用户数量:在服务器更细用户列表后统计用户数量,并显示在所有客户端。此功能属于显示在线用户列表的次要功能。
显示当前用户:用户登录后,输入的用户名会保存在用户名输入文本域内,同时在用户列表中以红色字体显示当前用户的用户名。如果用户同时开启多个客户端,此功能用于区分不同的客户端。
聊天功能:这是聊天室的主要功能,用户可以发送任何文字与聊天室的所有成员聊天,,并且接收其他用户发送的消息,类似QQ群组的功能。
退出聊天室:用户在想要退出聊天室时。点击关闭按钮即可突出聊天室。此功能类似关闭连接功能。
客户端效果效果如下: (界面效果随系统主题更改)
实现技术
使用ServerSocket、Socket完成服务端和客户端的连接。
服务端使用多线程的方式可以接受多个客户端。
使用对象的方式,在服务端和客户端之间传送数据。
问题解决办法
服务端和客户端的数据通过什么方式维护?
将这些数据封装成类,服务器和客户端发送对象来维护。
当服务端强制退出时,应该做什么处理?
告诉客户端服务端退出,然后关闭所有到服务端的连接。客户端根据服务端退出,断开和服务端的连接。
服务端
您可能关注的文档
最近下载
- 德邦快递_销售体系优化项目_销售体系现状分析报告v1.0_20150413汇报版.pptx VIP
- 最新子宫颈高级别上皮内病变管理的中国专家共识2022(完整版).pdf
- 雨棚清单报价表格.docx
- 光电图像处理-PPT课件(全).pptx
- 《初中英语阅读课“教-学-评”一体化的实践研究》课题研究方案.doc
- YC_T 10.4-2018烟草机械 通用技术条件 第4部分:灰铸铁件.pdf
- 一种应用于港口无人集卡的路径调度仿真测试方法、系统及介质.pdf VIP
- 人教版八年级地理上册《4-3 工业》教学课件PPT初二优秀公开课.pptx
- 5.2吸收借鉴优秀道德成果.pptx
- 消费者债务清理条例 - 司法院.doc VIP
文档评论(0)