版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学人类学(体质人类学)试题及答案
- 2025年高职机电(机电设备维修)试题及答案
- 2026年电工考证(电工理论考核)试题及答案
- 2025年中职园艺(园艺植物栽培)试题及答案
- 2025年大学药品与医疗器械(医药技术推广)试题及答案
- 2025年高职传感器维修(传感器维修技术)试题及答案
- 2025年大学第四学年(通信原理)信号处理阶段测试题及答案
- 2025年高职工艺美术品设计(工艺品设计技能)试题及答案
- 2025年大学粮食工程(粮食加工技术)试题及答案
- 2025年大学广播电视新闻学(节目策划与制作)试题及答案
- QGDW11970.7-2023输变电工程水土保持技术规程第7部分水土保持设施质量检验及评定
- 2024-2025学年四川省达州市高一上学期1月期末考试语文试题(解析版)
- 2025至2030年中国止鼾器行业市场现状调查及前景战略研判报告
- 人教版信息科技五年级全一册 第26课 寻找最短的路径 课件
- 人民军队性质宗旨教育
- T-CEPPEA 5002-2019 电力建设项目工程总承包管理规范
- 护士长管理培训课件
- 暂缓行政拘留申请书
- 小学班主任经验交流课件
- TSG 21-2015《固定式压力容器安全技术监察规程》
- 2025个人年终工作总结
评论
0/150
提交评论