1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 基于 JAVA 的 UAW聊天室系统 Server 端的设计与实现 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 基于 JAVA 的 UAW 聊天室系统 Server 端 的设计与实现 摘要 随着 Internet 的发展,在 Email、 WWW 等应用日益成熟的同时, 广大网络用户对 在线实时 通讯系统 的需求不断扩大 。用 JAVA 开发的 聊天室系统 弥补了纯文本非实时 通
2、讯 的不足,既增加了形象性,又加强了交互性 。 UAW (Up Against the Wind),基于 JAVA 实现,是一个 C/S 模式的聊天 室系统,包括服务端和若干客户端,客户端之间通过向服务端发送消息,进而由服务 器 端进行信息的分类并发送到客户端,从而实现聊天。本文主要解决 UAW 服务器模块的设计与实现, 从它的扩展性入手,设计出聊天室系统的程序框架。 在通讯技术中,选用 Socket 通讯机制实现客户端与 服务器 端的信息交换, 并采用多线程机制,每个线程对应一个客户端, 从而 简化了网络中的技术细节,方便可行。 此外,在服务端,聊天室服务器实现的功能有:登录、公聊、私聊、屏
3、蔽用户、得到在线列表、统计在线人数、更换房间、退出等。 关键词 聊天室 JAVA Socket 多线程 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 ABSTRACT With the development of Internet, while Email. WWW, etc. used maturely day by day, more and more network users are expanding the demand for the on-line real-time communication system. The chat room system
4、 based on JAVA, supplies a gap to the communication system with the properties of pure-text and non-real-time, not only increasing the image feel but also strengthening the interaction. UAW (Up Against the Wind), based on Java, is a chat room system of C/S mode, including a server end and several cl
5、ient ends. Between the client ends, they deliver messages through the server, which carry on classification of information and then send relevant messages to correct receivers. It is a simple process of services provided by chat room. This study mainly solves the problem to the design and implementa
6、tion of server module of UAW, and proceeding with its expansion, designs the procedure frame of the chat room system. Among communication technologies, select Socket communication mechanism to implement information exchange between server end and client end and adopt multi-thread mechanism, each thr
7、ead corresponding to each customer end, which simplify technological details inside the network. In addition, as server, the functions that the chat room system should possess is necessary, such as log-in , private chatting , common chatting, shielding user , tabulating online users , counting onlin
8、e users , changing room , withdraw ,etc. Key Words Char Room JAVA Socket Multi-Thread 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 目录 第一章 绪论 . 6 1.1 项目说明 . 6 1.1.1 聊天室发展概况 . 6 1.1.2 选用 Java 语言的原因 . 6 1.2 项目计划 . 6 1.2.1 项目名称 . 7 1.2.2 项目目标 . 7 1.2.3 项目范围 . 7 1.2.4 开发方法 . 7 1.2.5 开发周期 . 7 1.2.6 所需技术 . 8 1.2.7 开
9、发工具 . 8 第二章 UAW 服务器端概要设计 . 9 2.1 功能描述 . 9 2.2 程序设计步骤 . 9 2.3 图示解答(针对程序设计步骤) . 10 2.4 程序实现步骤 . 13 2.5 程序验证 . 13 第三章 UAW 服务器端详细设计 (关键技术从原理到实现 ). 13 3.1 SOCKET 应用 . 14 3.1.1 Socket 原理 . 14 3.1.2 Java Socket. 15 3.1.3 UAW Server Socket 实现过程及部分源代码分析 . 16 3.1.3.1 Server Socket 实现流程 . 16 3.1.3.2 所需的类和方法 .
10、16 3.2 THREAD应用 . 17 3.2.1 Thread 原理 . 17 3.2.3 UAW Thread 实现过程及部分源代码分析 . 19 3.3 信息标签 . 21 3.3.1 定义 . 21 3.3.2 功能及程序设计思路 . 21 3.3.2.1 HELO 初始化向服务器端的连接 . 21 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 3.3.2.2 QUIT 退出聊天室 . 22 3.3.2.3 KICK 踢出违规用户 . 23 3.3.2.4 CHRO 更换房间 . 23 3.3.2.5 MESS 发送公共信息 . 24 3.3.2.6 PRIV
11、 悄悄话 . 24 3.3.2.7 ROCO 统计在线用户数 . 25 3.4 JAVA 中文显示 . 26 3.4.1 Java 中文问题的来源 . 26 3.4.2 UAW 中文显示实现过程及部分源代码分析 . 27 3.5 JAVA.UTIL.PROPERTIES公共类 . 28 3.5.1 优点 . 28 3.5.2 UAW 属性文件的操作过程及部分源代码分析 . 28 第四章 系统测试 . 30 4.1 登陆界面 . 30 4.1.1 测试用例 . 30 4.1.2 界面显示 . 30 4.2 聊天室主界面 . 31 4.2.1 测试用例 . 31 4.2.2 界面显示 . 31 4
12、.3 公聊界面 . 31 4.3.1 测试用例 . 32 4.3.2 界面显示 . 32 4.4 私聊界面 . 32 4.4.1 测试用例 . 33 4.4.2 界面显示 . 33 4.5 服务器端界面 . 34 4.5.1 测试用例 . 34 4.5.2 界面显示 . 34 第五章 结束语 . 35 致谢语 . 36 参考文献 . 37 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 第一章 绪论 1.1 项目说明 1.1.1聊天室发展概况 网络化是计算机应用和现代生活发展的新方向,它使计算机的功能得以充分发挥和应用。截至 2004 年底,我国互联网用户数已突破 900
13、0 万人次,并且发展速度越来越快。网络时代的到来,无疑对人们的传统生活带来了重大的变革和深远的影响,也给我们的生活引入了全新的概念。网络以其高速性、自由性、时尚性、虚拟性、广泛性吸引了各个年龄层的关注,加之网络互动也是人际交往的一种,也是人们 彼此交流各种思想、观点、态度、意见,彼此沟通感情的过程。基于网络特有的性质和人们自身的需要,各种聊天工具应运而生,聊天室便是其中的产物之一。聊天室是社群齐聚的场所,其轻松的环境、活跃的气氛有助于疏缓人际压力、排解精神抑郁,具有不可忽视的社会功能;同时,聊天室也是蕴藏商机的地方,吸引网友长时间驻留能增加网站的使用率、有效增加网络广告收入等优点显而易见,而且
14、是否能有效利用所聚集的聊天人潮,引导其使用网站的各项服务,也将成为网站未来经营发展的晴雨表。 1.1.2选用 Java 语言的原因 现在大部分网站提供的聊天室 服务都是借助 Web 服务器,利用 JSP、 ASP 动态网页技术来实现,这种方法的优点是技术难度低,容易实现,缺点是支持在线人数很有限,一旦上线的人多了,速度就会变慢,并且严重占用内存,最后还可能导致服务器死机,严重影响提供的聊天服务的质量。在相同的服务器硬件配置下,为了解决能支持更多的人同时在线,可以单独设计一个聊天室服务器,把它从 Web 服务器中分离出来,从而大大地提高服务对象的人数。结合聊天室服务器及 Java 语言的简单易用
15、性、平台独立性、强大的网络功能、多线程机制等特点,利用 Java 开发聊天室可以适应更多的操作 系统平台,因此,我们认为 Java 是最好的选择。 1.2 项目计划 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 1.2.1 项目名称 聊天室名称: UAW(取意 Up Against the Wind) 1.2.2 项目目标 允许新用户经过系统检测登陆聊天室 得到在线列表 允许用户进行在线公聊 允许用户进行在线私聊 允许用户屏蔽指定用户 用户可发送 图片信息 允许用户更换房间 管理员可增加、删除、修改房间信息 管理员可更改服务器端口号 管理员可查看在线用户数 友好、舒适、
16、操作简便的聊天界面 1.2.3 项目范围 本聊天室适用于一般大众,满足实时通讯的要求。 1.2.4 开发方法 使用套接字和多线程机制进行客户端与服务器端的通讯 通过增量开发的方法进行此项目的设计与开发 1.2.5 开发周期 时间 任务 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 第 1 2 周 需求分析及初步设计阶段(决定每个功能所需的类及数据类型) 第 3 5 周 根据相应功能设计出各类所用到的方法及数据类型 第 6 8 周 具体实现各个类中的各个方法 第 9 12 周 对各个界面和服务器进行调整及测试完善工作 第 13 14 周 整理撰写毕业论文并准备答辩 表 1
17、-1 开发周期 1.2.6 所需技术 服务器端与客户端的连接:熟悉网络编程中的协议、数据流 及多线程编程 程序界面设计: JAVA AWT 代码实现: JAVA 面向对象程序设计语言 1.2.7 开发工具 开发工具: Sun Java (JDK 1.5.0) + Jcreator Pro 开发环境: Windows XP (Professional) + PC 基于 JAVA 的 UAW 聊天室系统 Server 端的设计与实现 第二章 UAW 服务器端概要设计 2.1 功能描述 允许后台管理员开启服 务器 接受用户登陆信息并检验是否重名 允许不重名的新用户登陆聊天室界面 向同房间的已登陆用户
18、发送新用户登陆信息 得到在线列表 允许用户发送公共信息并且同房间的用户可见 允许用户向指定对象发送私聊信息 允许用户在公聊和私聊过程中屏蔽指定对象 允许用户更换房间,向原房间其他用户发送离开信息并向新房间其他用户发送登入信息 统计同房间在线用户数 允许后台管理员 增加、删除、修改房间信息 允许后台管理员修改服务器端口号 允许后台管理员关闭服务器 2.2 程序设计步骤 选择创建网络服务器应用程序所需引用的主要的类和方法 确定主要的自定义类,及其说 明和方法 确定主要的自定义类中的数据类型和变量 确定服务器的 IP地址和端口号 确定要处理的例外 确定例外的出错信息 基于 JAVA 的 UAW 聊天
19、室系统 Server 端的设计与实现 2.3 图示解答(针对程序设计步骤) 选择创建网络服务器应用程序所需引用的主要的类和方法 目标 结果 选择 创建 网络 服务 应用 程序 所需 引用 的主 要的 类和 方法 类 方法 Serversocket accept() Socket getInputStream() getOutputstream() Thread start() run() DataOutputStream writeBytes() DataInputStream readLine() ArrayList size() get() add() remove() trimToSize() clear() 部分 AWT 组件 表 2-1 主要的类和方法 确定主要的自定 义类,及其说明和方法
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。