




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学校编号4武汉科技大学城市学院课程规划报告课程设计名称标题基于Java网络通信技术的C/S模块的实现这种类型的聊天室能力信息工程系专业贸易信息管理和信息系统班级级别1级西方人名的第一个字张峰教师平海2010年01月07天第036号主题:利用Java网络通信技术实现基于C/S模式的聊天室1课程设计的教学条件需要eclipse/netbeans/Jbuilder2课程设计任务写一个简单的CS版本的聊天室。多个客户端可以同时发送信息。服务器监控并向客户端页面显示信息。1.要求多人可以同时在线聊天。2.要求客户机-服务器接口由Swing或SWT实现3.服务器可以向多个客户端广播通信。3.课程设计报告的
2、主要内容1需求分析2总体设计2.1总体设计思想和算法的描述2.2模块结构图2.3各功能模块的功能和处理流程描述2.4界面设计3各功能模块的编程根据功能模块的功能描述和处理流程,给出了详细的程序代码,并给出了关键语句的注释。摘要4课程设计要求1准时登录机房,在指定的座位上登机。遵守计算机房的纪律。独立完成课程设计任务。指导老师在飞机上指导学生,检查并接受学生在不同时间完成的程序。3按时提交印刷的课程设计报告。课程设计参考书1徐文贤明白子剑的意思。Java编程教程和培训。北京:北京大学出版社,2005。2辛运勋。Java编程。北京:清华大学出版社,20043美埃切尔,Java编程思想(第三版)。北
3、京机械工业出版社,2005作者:姜伟讲师:平海内容1需求分析1总设计2.1总体设计思想和算法描述22.2模块结构图22.3界面设计32.3.1管理员界面32.3.2登录界面32.3.3聊天界面42.3.4文件发送接口52.3.5接受提示界面52.3.6选择保存界面62.3.7传输成功提示界面63编程74摘要22参考文献231需求分析本系统是实现c/s模式的聊天室。首先,必须建立拦截服务。这是服务器的要求。其次,还应该实现:用户登录,包括客户端请求登录和服务器响应登录。发送和接收聊天信息包括两个过程:客户端发送聊天信息,服务器转发聊天信息。发送和接收系统信息,由服务器发送给客户端的信息。用户注销
4、包括两个过程:客户端请求注销和服务器响应请求。这类似于用户登录,服务器关闭。其中,我还增加了文件传输功能,方便了用户文件的共享。2总体设计2.1总体设计思想和算法的描述根据需求分析的结果,系统应该设计成一个能够实现多人同时在线聊天的聊天软件。从软件的总体结构设计、界面设计和变量设计等方面阐述了系统的总体设计。根据需求分析结果,本设计应实现多人同时在线聊天,分为服务器端和客户端两个端口。客户端将信息发送到服务器,然后服务器将信息分发给每个客户端。2.2模块结构图图2.1模块结构图2.3界面设计2.3.1管理员界面图2.2管理员界面2.3.2登录界面图2.3登录界面2.3.3聊天界面图2.4聊天界
5、面2.3.4文件发送接口图2.5文件发送界面2.3.5接受提示界面图2.6接受提示界面2.3.6选择保存界面图2.7选择保存界面2.3.7传输成功提示界面图2.8传输成功提示界面3编程package com . ff;导入Java . io . *;导入Java . net . *;导入Java . util . *;导入javax . swing . *;导入Java。awt。*;导入Java。awt。事件。*;公共类开始服务器公共静态void main(字符串参数)开始服务器开始服务器=新开始服务器();开始服务器。服务器服务器框架=开始服务器。新服务器();类服务器扩展了JFramepr
6、ivate JScrollPane jp _ rec私有JScrollPane jp _ send私有JScrollPane jp _ listprivate JTextArea jta _ recprivate JTextArea jta _ send二等兵JLabel lbl _ rec私有JLabel lbl _ edit私有JList jlist私有按钮发送;/发送消息按钮私有JButton btnT私有默认列表模型列表模型;私有哈希映射所有用户链接=新哈希映射();公共服务器()init();尝试服务器套接字服务器_套接字=新服务器套接字(9999);虽然(真)套接字客户端_套接字=
7、服务器_套接字。接受();SocketThread dealThread=新套接字线程(客户端套接字);新线程(去线程).start();捕获(例外情况)ex。printstackTrace();公共void init() this.setTitle(管理员平台);this.setSize(800,400);设置默认关闭操作(退出_打开_关闭);这个。SetLocationRelativeto(此);容器c=这个。getContentPane();c.setLayout(空);JTA _ rec=新JtExterea();JTA _发送=新JtExterEa();jp_rec=新建jscrol
8、lPane();jp_send=新建jscrollPane();jp_list=新建jscrollPane();lbl_rec=新的JLabel( -消息记录-);lbl_edit=新的JLabel( -文本编辑-);b发送=新的按钮(发送);btnT=新的按钮( T除成员);列表模型=新的默认列表模型();jlist=新的jlist(列表模型);jlist。SetBorder(BorderFactory。CreateTitleDbOrder()在线成员);jp_rec.getViewport().添加(JTA rec);jp_send.getViewport().添加(JTA发送);jp_l
9、ist.getViewport().添加(jlist);jta_rec.setLineWrap(真);JTA _发送。SetLinewrap(真);JTA rec。设置可编辑(假);lbl_rec.setBounds(30,10,80,20);jp_rec.setBounds(30,30,450,100);lbl_edit.setBounds(30,130,80,20);jp_send.setBounds(30,150,450,100);btnSend.setBounds(350,260,80,20);jp_list.setBounds(500,30,120,220);btnT.setBoun
10、ds(520,260,80,20);c .添加(LBL rec);c .添加(LBL编辑);c .添加(jp _ rec);c .添加(jp _ send);c .添加(b发送);c .添加(jp _ list);c .添加(BtNT);this.setVisible(真);类SocketThread扩展了BaseTrans 私有布尔threadON=true公共套接字线程(套接字客户端_套接字)超级(客户端套接字);btnSend.addActionListener(新的ActionListener()公共无效操作已执行(操作事件e) messageEvent(代码=001;味精=公告新日期
11、().toLocaleString()JTA _发送。getText();JTA _发送。setText(););btnT.addActionListener(新的ActionListener()公共无效操作已执行(操作事件e) if(jlist.getSelectedValue()!=null)SocketThread ST=AllUserLink。获取(jlist。GetSelectedValue().toString().trim();删除(jlist.getSelectedValue().toString().trim();发送消息(“代码=0”);messageEvent(代码=001;味精=公告新日期().toLocaleString()n jlist。 GetSelectedValue()被管理员踢了出去!);ST . CloseLink();threadON=false列表模型。移除(jlist。GetSelectedIndex(););公共无效消息事件(字符串消息)StringUtil stringUtil=新StringToil();stringUtil .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 控股股东股权质押对上市公司股份回购的影响研究
- 大型饭店合同范本
- 围墙大门采购合同范本
- 社区在食品安全应急响应中的关键作用
- 小学一年级劳动课教学计划(10篇)
- 艾灸授权合同范本
- 电力设施升级改造项目的成本控制方法论
- 买林地合同范本
- 道路绿化劳务合同范本
- 秋季户外锻炼中常见问题及应对措施
- 锅炉水处理行业竞争分析及发展前景预测报告
- 2024年湖北省武汉市中考语文试卷真题(含答案)
- 2024年保安员考试题库【典型题】
- 餐饮行业系列研究之六:日本餐饮30年复盘与启示
- 《中国陶瓷史》课件-3-陶与瓷
- 第一章创新意识课件
- 浙江省杭州市2022-2023学年七年级下学期语文期中质量检测试卷(含答案)
- 【真题】2023年南京市中考语文试卷(含答案解析)
- 安徽安庆家乡介绍
- 自动测试系统第1章第1节测试系统发展综述
- 2024年河南省水务规划设计研究有限公司人才招聘笔试参考题库附带答案详解
评论
0/150
提交评论