聊天室程序设计聊天室程序设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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完成服务端和客户端的连接。 服务端使用多线程的方式可以接受多个客户端。 使用对象的方式,在服务端和客户端之间传送数据。 问题解决办法 服务端和客户端的数据通过什么方式维护? 将这些数据封装成类,服务器和客户端发送对象来维护。 当服务端强制退出时,应该做什么处理? 告诉客户端服务端退出,然后关闭所有到服务端的连接。客户端根据服务端退出,断开和服务端的连接。 服务端

文档评论(0)

pkaokqunw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档