132编号java网络聊天室课程设计报告(内附代码)
-
资源ID:145649075
资源大小:426.34KB
全文页数:3页
- 资源格式: PDF
下载积分:2金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
132编号java网络聊天室课程设计报告(内附代码)
课程设计课程设计 网络聊天室 院(系) 别 信电学院 班 级 计算 102 学 号 姓 名 指导教师 时 间 2013-4-182013-5-10 课课 程程 设设 计计 任任 务务 书书 题题 目目 网络聊天室 课程设计 系系 (部部) 信电学院信电学院 专专 业业 计算机科学与技术计算机科学与技术 班班 级级 计算计算 102 学生姓名学生姓名 学学 号号 4 月月 18 日至日至 5 月月 10 日日 共共 4 周周 指导教师指导教师(签字签字) 系系 主主 任任(签字签字) 年年 月月 日日 一、 设计内容及要求一、 设计内容及要求 二、设计原始资料二、设计原始资料 1)电子工业出版社)电子工业出版社JSP 实用教程,郑阿奇编著实用教程,郑阿奇编著 2)电子工业出版社)电子工业出版社JAVA 程序设计实用教程,叶核亚编著程序设计实用教程,叶核亚编著 三、设计完成后提交的文件和图表三、设计完成后提交的文件和图表 1计算说明书部分计算说明书部分 JSP 界面设计界面设计 2图纸部分:图纸部分: 程序流程图程序流程图 四、进程安排四、进程安排 五、主要参考资料五、主要参考资料 1)电子工业出版社)电子工业出版社JSP 实用教程,郑阿奇编著实用教程,郑阿奇编著 2)电子工业出版社)电子工业出版社JAVA 程序设计实用教程,叶核亚编著考资料程序设计实用教程,叶核亚编著考资料 成 绩 评 定 表 作品成绩报告成绩口试(答辩) 成绩 总评成绩 目目 录录 课程设计概述.4 1.1 问题描述 .4 1.2 功能需求分析 .4 1.3 环境需求分析 .4 学生信息管理系统软件总体设计.5 2.1 整体思路 .5 2.2 总体设计流程图 .6 学生信息管理软件详细设计.7 3.1.界面设计 .7 3.2 通信功能实现方法 .9 参考文献.45 摘要摘要 私達実践能力高、 学知識運用行更 創造、 学校特 2 週間手配、 私達 Visual C+課程設計実習行 . 詳説明 Visual C+6.0 環境下、 過程設計、各種個数統計。 機能、 1 段文字入力、 文字中各類数記録、 英文数、 数字数、 空欄数数含、明 示. 以下、 課程通説明設計、 説明統計、 説明調整、総括方面開発、詳 製作過程説明、作用、各種実行操作. 关键字关键字:統計,VC+6.0, 课程设计概述课程设计概述 1.1 问题描述问题描述 随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如: 信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联 系,已经成为当今社会人们主流的联系方式。因此,两台计算机之间进行即时通讯、 发送文件等交流方式已经成为必然潮流。因此出现了等聊天工具,然而等聊 天工具虽然方便、实用,但是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程 度上来说,是一种娱乐工具,不能作为用于即时通讯、文件共享的专用工具。目前, 用于实现单一的即时通讯、文件共享的软件实在太少,而且,它们中大部分都是绝对 的 C/S 模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流。为此, 我决定开发一个专用于实现两台计算机之间即时通讯、文件共享的软件,以方便两台 计算机之间信息的交流。避免了服务器忙或与服务器无法连接时,浪费过多时间用于 和服务器建立连接。因此,这个软件是极具适应性和实用性的即时通讯软件。 1.2 功能需求分析功能需求分析 实现网络聊天的功能,采用 Windows Socket(或 Java Socket)编程,服务器与客户端 采用了 TCP/IP 连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务 器进行处理,服务器端是所有信息的中心。服务器端要保存用户信息,可利用数据库 来实现这一功能,需要建立用户信息数据库。在客户端可采用文件系统保存聊天纪录 和用户号码。可通过闪动托盘图标和播放不同的音乐提示信息到来及好友上线等信 息。可通过建立消息链表来保存用户接收的各种消息。 1.3 环境需求分析环境需求分析 运行环境:Windows 9x、2000、XP、Windows 7 必要环境:JDK 1.6 以上、eclipse 开发环境 硬件环境:CPU 400MHz 以上,内存 512MB 以上 学生信息管理系统软件总体设计学生信息管理系统软件总体设计 2.1 整体思路整体思路 该 C/S 模式的聊天系统,就是服务器来提供服务端连接响应,客户端主动的发起 连接请求。当多个用户同时连接到服务器时,经由服务器的接收与转发便可以实现客 户之间的通信。 对于整体系统的流程,也是分为两部分,即客户端的发起请求,服务器响应请求。 首先是客户端的登陆,客户端在登陆时,必须设置所想要连接的服务器,然后客户端 就会根据设置的服务器 IP 地址, 向服务器发起建立连接请求。 而服务器端是始终在监 听网络状态的,主要检测到有一个连接请求,那么服务器就会给当前的发起端分配一 个服务线程,用于处理它的各种请求。 对于客户端的各种请求,实际上都是通过在客户发往服务器的各种字符流区分 的,具体的方法就是在消息的头部以及尾部添加特殊字符串,从而实现服务器对消息 请求的识别。比如对于登陆信息,消息的头部就是“PEOPLO”,而对于私聊中的消息, 头部就是 “SEC”,其他的同理都添加了头部。 当然, 对于客户端来说, 这些都是透明的, 用户的操作并没有受到任何影响。在服务器端,消息被检测分析后,变回根据具体的 目的进行处理,比如是私聊消息,服务器便会根据其尾部的目的信息,向目标端转发 该条消息。 这里额外要说的是,该系统特别的对用户发来的消息进行了加密处理,即用户的 各种具体信息,不仅能够防止向第三方的泄漏,而且即使服务器端出现异常,信息也 不会泄漏。 对于私聊的方式,该系统所采用的方法类似于 QQ 的通信方式,由发起方主动连 接,当目的方接收到连接请求后,会主动建立一个私聊窗口,从而 实现私聊。 2.2 总体设计流程图总体设计流程图 ServerClient 建立服务器 监听 socket 等待并接收 连接请求 创建 socket 向服务器发请求 接收请求后创建 socket 连接 InputStream OutputStream InputStream OutputStream 关闭 socket 关闭 socket 建立连接 开始通信 结束通信 学生信息管理软件详细设计学生信息管理软件详细设计 3.1.界面设计界面设计 由于这里界面设计源代码比较简单,这里不再列出。 3.1.1 服务器界面设计 服务器界面 3.1.2 客户端界面设计 登陆界面 注册界面 聊天室界面 3.2 通信功能实现方法通信功能实现方法 列举部分实现通信功能的主要代码 AppServer.java 文件 public class AppServer extends Thread private ServerSocket serverSocket; private ServerFrame sFrame; private static Vector userOnline = new Vector(1, 1); private static Vector v = new Vector(1, 1); /* * 创建服务器 启动服务监听1001端口 * */ public AppServer() sFrame = new ServerFrame(); try serverSocket = new ServerSocket(1001); / 获取服务器的主机名和IP地址 InetAddress address = InetAddress.getLocalHost(); sFrame.txtServerName.setText(address.getHostName(); sFrame.txtIP.setText(address.getHostAddress(); sFrame.txtPort.setText(1001); catch (IOException e) fail(e, 不能启动服务!); sFrame.txtStatus.setText(已启动.); this.start(); / 启动线程 /* * 退出服务器 * * param e * 异常 * param str *