JAVA聊天室项目展示_第1页
JAVA聊天室项目展示_第2页
JAVA聊天室项目展示_第3页
JAVA聊天室项目展示_第4页
JAVA聊天室项目展示_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java聊天室项目展示Java聊天室程序用户注册、登录与聊天室成员一起聊天、私聊服务器监控聊天内容。服务器发送通知。服务器踢人。保存服务器日志、用户聊天信息。聊天室的主要功能用户登录显示一个用于输入昵称的界面聊天群聊功能:在线用户一起聊天发送悄悄话功能:与某个用户单独聊天刷新用户列表:用于得到所有的用户列表功能的具体实现Client端:显示用户登录界面设置用户名不能为空用户名不为空时,显示聊天室主窗口,连接服务器端用户名为空时,显示警告窗口用输入/输出流与服务器传递信息Server端:启动服务器等待客户端连接客户端连接上后,启动线程,等待客户端发出信息对客户端发出的信息进行处理,并发给客户端客户端1.用户注册界面及结果

2.用户登录界面及结果

3.用户发送信息界面及结果

4.用户得到信息界面及结果

5.用户退出界面及结果

服务器端1.处理用户注册2.处理用户登录3.处理用户发送信息4.处理用户得到信息5.处理用户退出程序简介ChatLogin.java登陆界面将用户信息发送到服务器ChatClient.java聊天室主程序完成数据的发送接收Enroll.java注册界面完成新用户的注册Message.java封装服务器与客户端发送的信息Exit.java用户关闭窗口时询问是否退出ChatServer.java聊天室的服务端Message.java封装服务器与客户端发送的信息Exit.java用户关闭窗口时询问是否退出服务器客户端系统实现原理当用户聊天时,将当前用户名、聊天对象、聊天内容和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端

当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。

接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。

当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。

用户登陆界面定义Login类属性: JFrameframe主窗口 JTextFieldfield1接收用户名 JButtonbutton1登录按钮 JButtonbutton2取消按钮方法:init():组合组件; addActionHandler():事件监听方法内部类:Window用户名为空时的弹出窗口聊天室图形界面

GUIChatRoom属性privatefinalJFramemainf;privateJOptionPanejop;//昵称输入框privateJPanelsouthp;privateJPaneleastp,eastp2;privateJTextAreaarea;privateJTextFieldfield;privateJComboBoxbox;privateJScrollPanescroll,eastscr;privateJLabeleastl,southl1,southl2;privateJButtonsend;聊天室窗口组件:JFrame、JTextField、JTextArea、List、JButton、JLabel方法:init():组件组合;showMe():显示窗口;addActionHandler():事件监听内部类:TFListener实现输出流的类 RecvThread实现输入流的类MyWindow用于发送悄悄话的窗口1.与聊天室成员一起聊天。

2.可以与聊天室成员私聊。服务器端口集合list存储每一个Myclient。开启一个线程,每当接收到消息时遍历list向所有客户端发送消息:for(inti=0;i<list.size();i++){list.get(i).pw.println(name+"说:"+message);list.get(i).pw.flush();当new一个sockt后,则向服务器发送name;消息的接收:开启一个线程,负责接收服务器发来的message;消息的发送:文本输入框tf和按钮send添加一个ActionListener,当按回车或send是将消息发送给服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论