java网络聊天室课程设计报告内附代码

上传人:鲁** 文档编号:493624507 上传时间:2023-01-16 格式:DOC 页数:39 大小:137KB
返回 下载 相关 举报
java网络聊天室课程设计报告内附代码_第1页
第1页 / 共39页
java网络聊天室课程设计报告内附代码_第2页
第2页 / 共39页
java网络聊天室课程设计报告内附代码_第3页
第3页 / 共39页
java网络聊天室课程设计报告内附代码_第4页
第4页 / 共39页
java网络聊天室课程设计报告内附代码_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《java网络聊天室课程设计报告内附代码》由会员分享,可在线阅读,更多相关《java网络聊天室课程设计报告内附代码(39页珍藏版)》请在金锄头文库上搜索。

1、.课程设计网络聊天室院(系) 别 信电学院 班 级 计算102 学 号姓 名指导教师时 间2013-4-182013-5-10课 程 设 计 任 务 书题目网络聊天室 课程设计系 (部) 信电学院 专业 计算机科学与技术 班级 计算102 学生* 4月 18 日至 5 月 10 日共 4 周指导教师(签字) 系主任(签字) 年月日一、 设计容及要求二、设计原始资料1电子工业JSP实用教程,阿奇编著2电子工业JAVA程序设计实用教程,叶核亚编著三、设计完成后提交的文件和图表1计算说明书局部JSP界面设计2图纸局部:程序流程图四、进程安排五、主要参考资料1电子工业JSP实用教程,阿奇编著2电子工业

2、JAVA程序设计实用教程,叶核亚编著考资料成 绩 评 定 表作品成绩报告成绩口试辩论成绩总评成绩. .目 录课程设计概述41.1问题描述41.2功能需求分析41.3环境需求分析4学生信息管理系统软件总体设计52.1整体思路52.2总体设计流程图6学生信息管理软件详细设计73.1.界面设计73.2通信功能实现方法9参考文献45摘要私達実践能力高、学知識運用行更創造、学校特2週間手配、私達Visual C+課程設計実習行.詳説明Visual C+6.0環境下、過程設計、各種個数統計。機能、1段文字入力、文字中各類数記録、英文数、数字数、空欄数数含、明示.以下、課程通説明設計、説明統計、説明調整、総

3、括方面開発、詳製作過程説明、作用、各種実行操作.关键字:統計,VC+6.0, . .课程设计概述1.1问题描述随着计算机网络日新月异的开展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。因此,两台计算机之间进展即时通讯、发送文件等交流方式已经成为必然潮流。因此出现了等聊天工具,然而等聊天工具虽然方便、实用,但是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为用于即时通讯、文件共享的专用工具。目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它们

4、局部都是绝对的C/S模式,对远程效劳器有非常大的依赖性,没有彻底实现点对点的交流。为此,我决定开发一个专用于实现两台计算机之间即时通讯、文件共享的软件,以方便两台计算机之间信息的交流。防止了效劳器忙或与效劳器无法连接时,浪费过多时间用于和效劳器建立连接。因此,这个软件是极具适应性和实用性的即时通讯软件。1.2功能需求分析实现网络聊天的功能,采用WindowsSocket或JavaSocket编程,效劳器与客户端采用了TCP/IP连接方式,在设计聊天方案时,可将所有信息发往效劳器端,再由效劳器进展处理,效劳器端是所有信息的中心。效劳器端要保存用户信息,可利用数据库来实现这一功能,需要建立用户信息

5、数据库。在客户端可采用文件系统保存聊天纪录和用户。可通过闪动托盘图标和播放不同的音乐提示信息到来及好友上线等信息。可通过建立消息链表来保存用户接收的各种消息。1.3环境需求分析运行环境:Windows 9*、2000、*P、Windows 7必要环境:JDK 1.6以上、eclipse开发环境硬件环境:CPU 400MHz以上,存512MB以上学生信息管理系统软件总体设计2.1整体思路该C/S模式的聊天系统,就是效劳器来提供效劳端连接响应,客户端主动的发起连接请求。当多个用户同时连接到效劳器时,经由效劳器的接收与转发便可以实现客户之间的通信。对于整体系统的流程,也是分为两局部,即客户端的发起请

6、求,效劳器响应请求。首先是客户端的登陆,客户端在登陆时,必须设置所想要连接的效劳器,然后客户端就会根据设置的效劳器IP地址,向效劳器发起建立连接请求。而效劳器端是始终在监听网络状态的,主要检测到有一个连接请求,则效劳器就会给当前的发起端分配一个效劳线程,用于处理它的各种请求。对于客户端的各种请求,实际上都是通过在客户发往效劳器的各种字符流区分的,具体的方法就是在消息的头部以及尾部添加特殊字符串,从而实现效劳器对消息请求的识别。比方对于登陆信息,消息的头部就是PEOPLO,而对于私聊中的消息,头部就是SEC,其他的同理都添加了头部。当然,对于客户端来说,这些都是透明的,用户的操作并没有受到任何影

7、响。在效劳器端,消息被检测分析后,变回根据具体的目的进展处理,比方是私聊消息,效劳器便会根据其尾部的目的信息,向目标端转发该条消息。这里额外要说的是,该系统特别的对用户发来的消息进展了加密处理,即用户的各种具体信息,不仅能够防止向第三方的泄漏,而且即使效劳器端出现异常,信息也不会泄漏。对于私聊的方式,该系统所采用的方法类似于QQ的通信方式,由发起方主动连接,当目的方接收到连接请求后,会主动建立一个私聊窗口,从而 实现私聊。2.2总体设计流程图ServerClient建立效劳器监听socket建立连接创立socket向效劳器发请求等待并接收连接请求接收请求后创立socket连接InputStre

8、am开场通信InputStreamOutputStreamOutputStream关闭socket完毕通信关闭socket学生信息管理软件详细设计3.1.界面设计由于这里界面设计源代码比拟简单,这里不再列出。3.1.1 效劳器界面设计效劳器界面3.1.2客户端界面设计登陆界面注册界面聊天室界面3.2通信功能实现方法列举局部实现通信功能的主要代码AppServer.java文件publicclassAppServer e*tends Thread private ServerSocket serverSocket;private ServerFrame sFrame;privatestaticV

9、ectoruserOnline = newVector(1, 1);privatestaticVectorv = newVector(1, 1);/* * 创立效劳器 启动效劳监听1001端口* */public AppServer() sFrame = new ServerFrame();try serverSocket = new ServerSocket(1001);/ 获取效劳器的主机名和IP地址InetAddress address = InetAddress.getLocalHost();sFrame.t*tServerName.setTe*t(address.getHostNam

10、e();sFrame.t*tIP.setTe*t(address.getHostAddress();sFrame.t*tPort.setTe*t(1001); catch (IOE*ception e) fail(e, 不能启动效劳!);sFrame.t*tStatus.setTe*t(已启动.);this.start(); / 启动线程/* * 退出效劳器 * * param e * 异常 * param str * 退出信息 */publicstaticvoid fail(E*ception e, String str) System.out.println(str + 。 + e);/*

11、 * 监听客户的请求,当有用户请求时创立 Connection线程*/publicvoid run() try while (true) / 监听并承受客户的请求Socket client = serverSocket.accept();new Connection(sFrame, client, userOnline, v); / 支持多线程/ System.out.println(userLength:+userLength); catch (IOE*ception e) System.out.println(不能监听);/* * 启动效劳器 */publicstaticvoid main

12、(String args) new AppServer();ServerFrame.java文件publicclass ServerFrame e*tends JFrame implements ActionListener publicJListlist;/* * */privatestaticfinallongserialVersionUID = -8936397327038098620L;/ 效劳器信息面板JPanel pnlServer, pnlServerInfo;JLabel lblStatus, lblNumber, lblMa*, lblServerName, lblProtocol, lblIP,lblPort, lblLog;public JTe*tField t*tStatus, t*tNumber, t*tMa*, t*tServerName, t*tProtocol, t*tIP,t*tPort;utton btnStop, btnSaveLog;public Te*tArea taLog;JTabbedPane tpServer;public Te*tArea taMessage;/ 用户信息面板JPanel pnlUser;public JLabel lblMessage, lblUser, lblNotice, lblUserCount;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号