聊天室程序设计

聊天室程序设计

ID:20743061

大小:174.50 KB

页数:9页

时间:2018-10-15

聊天室程序设计_第1页
聊天室程序设计_第2页
聊天室程序设计_第3页
聊天室程序设计_第4页
聊天室程序设计_第5页
资源描述:

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

1、JAVA网络编程------文本传输学院:通信与信息工程班级:电子商务1002班姓名:王鹏飞学号:1007100222JAVA 网络聊天室功能描述网络聊天室是一种应用广泛网络聊天方式,操作简单,功能丰富,是教学和学习面向对象的编程思想的理想项目。可以使用多种编程语言设计和开发出功能完善的网络聊天室。本系统采用C/S架构设计,用JAVA语言设计和实现,整个项目分为服务器端和客户端。使用了最新的JAVASE标准Swing组件,开发出简洁美观布局合理的客户端和服务器界面;利用Socket网络开发技术实现客户端和服务器端的连接访问,实现网络通信功能;通过对数据流合理的封装,实现信息发送和接

2、受。同时,采用多线程、多任务的设计思想,令服务器性能稳定,客户端通信流畅,基本实现聊天室的功能。服务器端功能:服务器的基本功能有:启动服务器,关闭服务器,监听客户端连接请求,显示在线用户,显示客户端连接信息,发送系统消息等。服务器端功能描述:1.启动服务器:客户在运行服务端程序后,点击启动服务器,服务器程序创建并箭筒特定端口的ServerSocket,并启动一个主线程,等待客户端的连接,如果有客户端连接,服务器向工作线程队列中加入与客户通信的任务,工作线程不断从工作线程中取出任务并执行。同时在服务器消息面板中显示,服务器启动成功。1.关闭服务器:服务器关闭时,向所有连接的客户端发送

3、消息,告知将服务器关闭,同时关闭socket,之后服务器界面关闭2.监听客户端请求:服务器在启动后一直监听客户端的运行情况,比如有新用户登录,用户退出等。3.显示在线用户:用户登录后即客户端与服务器连接成功,服务器端用户列表界面显示出所有登录用户的用户名,用户退出后服务器更新用户列表4.显示用户连接信息:用户在登录成功后,服务器端服务信息界面显示用户登录的信息,包括客户端IP地址,端口号。5.发送系统消息:可以从服务器端广播系统消息,该消息会发送给所有连接的客户端,此功能可用于服务器管理者向所有用户发送重要的系统消息。服务器界面如下图所示:客户端功能:客户端有用户登录功能,连接服务

4、器功能,断开服务器供,显示聊天室所有在线用户功能,统计聊天室用户数量功能,显示当前用户用户名的功能,聊天室聊天功能,用户退出聊天室等功能。功能图如下图所示:具体功能描述:1.用户登录:用户打开聊天室客户端程序后,输入用户名,点击连接服务器,就可以进入聊天室系统,为防止用户不知道服务地址和端口号,用户界面上已经将服务地址和端口号设定,且不能更改,用户只需输入用户名,只要用户名符合要求,可以输入任何用户名,无需注册,任何人都可以登录,退出后不会留下个人信息,如果需要再次登录只需再次输入用户名即可,可以与上次登录的用户名不一致。2.连接服务器:用户在输入用户名后,点击连接服务器即可进入聊

5、天室系统,否则无法发送消息。此时服务器接收客户端的请求,与客户端建立通信,服务器显示用户的练级信息,及新用户的用户名,端口号,同时告知聊天室其他成员,某某用户加入聊天室,更新服务器与所有客户端的用户列表。3.断开服务连接:用户在登录聊天室成功后,如果想要退出系统,可以点击断开服务器,或点击关闭按钮,或点击窗口关闭按钮就可退出聊天室,与服务器断开练级,用户可以重新登录。1.显示在线用户列表:用户在登录聊天室后,服务器端增加新用户的用户名,同时遍历原有用户列表,将新用户的用户名增加到用户列表中,同时更新所有客户端的用户列表,并显示更新结果。2.统计聊天室所有用户数量:在服务器更细用户列

6、表后统计用户数量,并显示在所有客户端。此功能属于显示在线用户列表的次要功能。3.显示当前用户:用户登录后,输入的用户名会保存在用户名输入文本域内,同时在用户列表中以红色字体显示当前用户的用户名。如果用户同时开启多个客户端,此功能用于区分不同的客户端。4.聊天功能:这是聊天室的主要功能,用户可以发送任何文字与聊天室的所有成员聊天,,并且接收其他用户发送的消息,类似QQ群组的功能。5.退出聊天室:用户在想要退出聊天室时。点击关闭按钮即可突出聊天室。此功能类似关闭连接功能。客户端效果效果如下:(界面效果随系统主题更改)实现技术a)使用ServerSocket、Socket完成服务端和客户

7、端的连接。b)服务端使用多线程的方式可以接受多个客户端。c)使用对象的方式,在服务端和客户端之间传送数据。问题解决办法d)服务端和客户端的数据通过什么方式维护?将这些数据封装成类,服务器和客户端发送对象来维护。e)当服务端强制退出时,应该做什么处理?告诉客户端服务端退出,然后关闭所有到服务端的连接。客户端根据服务端退出,断开和服务端的连接。服务端效果图:客户端效果图:群聊通信:设计思路:实现网络通信必须建立在TCP/IP协议的基础上,致力于实现应用层,传输层向应用层提

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

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

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