《聊天室(Java) -毕业论文.docx》由会员分享,可在线阅读,更多相关《聊天室(Java) -毕业论文.docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、聊天室(Java)摘 要随着Internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。传统的信息交流工具,不能满足人们即时获取信息的要求。因此,网上聊天便成为人们的首选,而一个好的聊天工具是:
2、操作简单、方便、人性化,节省系统资源。为了方便与人即时联系及数据汇报,特构建此聊天系统。本论文通过Java的Socket实现了一个基于局域网和网络的聊天室程序的开发。本论文详细介绍其设计和实现过程。关键词:聊天室;Java;客户机/服务器;Socket;AbstractWith the development of Internet technology, peoples daily lives can not be separated from the network. Society, people living and working more and more dependent on
3、 the development of digital technology, more and more digital, networked, electronic, virtualization. E-commerce With the development of increasingly close to peoples lives. The course of development of the Internet and the current application status and development trend, we can fully believe that
4、network technology will dramatically change the way we live and work, and even social values may also occur a change.The rapid development of network, the Internet has become the quick access, publish, and an important channel for transmitting information, it play an important role in a persons poli
5、tical, economic, and other aspects of life. The traditional information-sharing tools can not meet the requirements of people instant access to information. Therefore, online chats will become the first choice of the people, and a good chat tools are: simple operation, convenient, user-friendly, sav
6、ing system resources. In order to facilitate immediate contact and data reporting, special build this chat system.In this thesis, through the Java Socket development of a local area network and network-based chat program. This paper details the design and implementation process.Keywords: chat rooms;
7、 the Java; Client / Server;the Socket;目 录首页中文摘要英文摘要第一章 绪论.1.1 聊天室的发展1.2 即时通讯的9大应用第二章 实现聊天室的相关技术及环境2.1 Java的概述2.2 Java的特点2.3 TCP/IP协议常识2.4 SOCKET的简介2.5 系统开发工具第三章 网络聊天系统的系统设计3.1 项目概述3.2 功能需求3.3 聊天室系统的系统设计3.3.1 聊天系统工作原理3.3.2 系统实现原理第四章 聊天室系统的实现及测试 4.1 总结致谢参考文献附录 部分源程序代码第1章 绪 论 网络技术是计算机领域中发展最为迅速的技术之一,它在政
8、治、经济、生活等各个方面发挥着十分重要的作用。随着计算机网络的普及和推广,将会有越来越多的人利用网上资源,享受不断发展和完善的网络服务,以此来提高工作效率和水平。随着我国经济的发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,成为计算机应用设计开发的主流,尤其在网络技术开发中,面向对象的Java语言编程和相关的Java技术正在以前所未有的速度发展。网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用Java技术。而且Java使平台无惯性的思想成为现实,独立的Java程序可以被编译为与平台无关的字节码,这种字
9、节码可以运行在任何拥有Java解释器的机器上。真正降低了企业成品和程序员的负担。 随着信息科学的进步与互联网络的发展,虽然通过网络的聊天软件很多,但针对于内部系统的、局域网内的聊天和公司内部的上下级沟通的聊天通讯软件却很少。所以开发一个此类型的即时通讯系统就变得非常有意义了。1.1聊天室的发展聊天室作为即时通讯的一种,即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯QQ,以及微软的MSN Messenger都是大众关注的焦点,它们能让你迅速的在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而
10、且,现在不少IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。IM软件的历史并不久远,但是它一诞生,就立即收到网民的喜爱,并风靡全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis公司,并于同年11月推出了全世界第一个即时通讯软件ICQ,取意为“我在找你”“I Seek You”,简称ICQ了。知道现在,ICQ已经推出了它的2002a版本,在全球即时通讯市场上占有非常重要的地位。目前,国内最为流行的即时通讯软件是OICQ(简称QQ)。它以良好的中文界面和不断增强的功能形成了一定的QQ网络文化。Messenger虽出道较晚,但
11、依托微软的强大背景,实力也不可小视。最为Windows XP的一部分,Messenger整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。它的令人耳目一新的中文界面和注册方式,连同它强大的功能了,着实吸引了众多的眼球的注视,此外还有许多有特点的IM软件。1.2即时通讯的9大应用第2章 系统开发环境与工具的选择2.1本课题开发环境的选择在进行开发之前,首先决定的第一个问题就是,该使用什么开发环境来编写该系统?以目前常用的开发语言来讲有C/C+、.NET技术,JAVA、 Visual Basic几种。还有Eclipse,、Borland JBui
12、lder等,这些并不是程序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在开发设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定性的影响。基于以下几点,选择JAVA语言开发技术。1、就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用户可能使用的是Windows Linux。JAVA语言具有平台无关性,可以不需要任何修改就可以运行在支持JAVA的任何计算机上。2、JAVA的Swing 组件开发技术可以开发丰富的图形界面,并且Swing API类提供了丰富的外部接口和方法,可以方便实现系统功能。3、就项目
13、开发而言,纯粹的面向对象,加上数量巨大的类所提供的方法(函数)库的支持,使得利用Java开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面向对象的特性,使得这些维护也变得非常容易。4、Java支持内在的多线程运行,提供分布式的并发机制,运行效率高。5、异常处理,为了使Java程式更稳定、更安全,Java引入了异常处理机制。能够在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。通过这种异常处理,不仅能够清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。6、高性能,Java可以在运行时直接将目标代码翻译成机器指
14、令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区别。7、网络功能,Java可以说是借助因特网而重获新生的,自然具备编写网络功能的程序。不论是一般因特网局域网的程序,如Socket、Email、基于Web服务器的Servlet、JSP程序,甚至连分布式网络程序,如CORBA、RMI等的支持也是非常丰富的,使用起来也很方便。8、源回收处理,GarbageCollection是由JVM对内存实行动态管理的。程序需要多少内存、哪些程序的内存已经不使用了,需要释放归还给系统,这些烦琐且危险的操作全部交由JVM去管理。让我们能够更专心地编写程序,而不需要
15、担心内存的问题。内存的统一管理,对于跨平台也有相当大的帮助。2.2本课题开发工具的选择Java的开发工具很多,而且各有优缺点,Eclipse是一个开放可扩展的集成开发环境(IDE)。它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。Eclipse是开放源代码的项目,并可以免费下载。支持最新的Java标准,并且缩短了开发周期。一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是Eclipse一直是广大程序员最喜爱的Java开发工具的原因之一。Eclipse的可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立
16、、打开和编辑文件,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发Java程序,快速而且高效。其主要特点如下:1.开放的可扩展的IDE2.成功的底层图形界面API3.强大的插件加载功能4.可以通过导入一些CVS相关的插件来实现版本管理的便易性2.3本课题开发技术的选择本课题选择了java Socket技术开发网络聊天室。什么是socket? socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的电缆工作在两台机器之间,“电缆”插在两台机器的socket上。当然,物理硬件和两台机器之间的“电
17、缆”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。 简单的说,一台计算机上的socket同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。当你发送数据时,TCP/IP协议栈的每一层都给你的数据里添加适当的报头。有个好消息是java语言隐藏了所有这些细节,这也是为什么他们有时被叫做“流socket”。 思考一下socket像电话听筒一样在电话的任意一端你和我通过一个专门的信道来进行通话和接听。会话将一直进行下去直到我们决定挂断电话(除非我们使用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。 如果你需要在两台机器之间进行通讯而
18、不使用高级机制像ORBs(以及CORBA, RMI, IIOP等等),socket比较适合你。Socket的底层机制则相当棘手。幸运的是,java平台给我们一些虽然简单但是相当强大的高层抽象以至于我们创建和使用socket更加容易一些。一般而言,java socket有下面两种类型:TCP socket(由Socket类实现,下面的章节我们将对其讨论)UDP socket(由DatagramSocket类实现)TCP和UDP扮演同样的角色,但是实现是不同的。两者都接收传输协议数据包并把它们传递到表示层。TCP把信息分解成数据包(datagrams)并在接收端重新组装起来。它还对丢失的数据包进行
19、重新传输的请求。TCP减少了上层的担忧。UDP没有组装和重传请求的功能。它只是传输数据包。更高层的层必须确保信息的完整性以及组合顺序的正确性。第3章 需求分析3.1项目概述3.1.1产品描述:人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。一个操作简单、界面友好、运行稳定的网络聊天室对于小型局域网内的用户可以起到很好的交流作用。本聊天室,所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过网上聊天室将自己融入整个主流社会中。由于目前上网的一般都是具有高学历的新一代创业者,因此,在网上聊天室这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知
20、识和更多的阅历。该小聊天室是为许多喜爱上网聊天的朋友开发设计的,希望能在现有的众多聊天室中给大家多一种的选择。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等,基于时间和技术的原因,很遗憾传送文件的功能尚未实现。本聊天室主要由注册界面、登录界面、聊天室界面、私聊界面、查看聊天内容界面、功能设置界面等构成。整个设计简洁明了、实用,使用简单。客户端登入用户登入用户注册通信公聊私聊功能设置字体颜色字体类型字体大小表情记录保存公聊记录添加文字图3-1 客户端结构图服务器监听请求显示登入情况发送系统消息图3-2 服务器结构图3.1.2产品功能本项目具有以下主
21、要功能客户端: 用户注册功能,实现用户的登入ID注册和个人信息。 用户登入功能,实现合法注册用户的登入。 公聊功能,实现用户和在线的所有用户聊天方式。 私聊功能,实现用户和在线的其他用户一对一的聊天方式。 查看聊天记录,实现用户查看已聊天的历史聊天内容,分为公聊记录和私聊记录。 发送表情和设置聊天内容字体,并可以设置字体颜色和背景色等。服务端: 可以不断的监听客户端请求 显示登入客户的信息 发送系统消息3.2功能需求3.2.1用户注册需求描述:用户填写系统给出的注册项目,并提交给系统,成功注册后,系统生成用户所注册的登入ID,并保存在字段当中。执行者:用户前置条件:无后置条件:无正常过程: 向
22、服务端发送注册请求; 服务端响应客户端,客户端弹出注册信息表单; 用户填写完表单后将注册数据传给服务端处理,并保存在字段中; 返回客户端一个响应,显示用户注册的ID,提示注册成功。异常过程(可选): 用户填写表单的数据格式不正确或表单中存在空缺的项,客户端给予提示信息,并将光标定位到出什么不能为空或注册错误的地方; 用户注册的项在数据库中发生冲突,客户端提示注册不成功并提示已有用户注册; 服务器未启动或出现异常。3.2.2用户登入需求描述:用户填写登入ID 和密码,经服务器验证成功后进入聊天室主界面。执行者:用户前置条件:用户成功注册或已经拥有一个合法的ID号后置条件:无正常过程: 向服务端请
23、求连接,并发送登录信息; 服务端处理并查询数据库中的用户信息; 返回客户端一个响应,提示登录成功,弹出聊天室主界面; 刷新其他在线用户的用户列表信息。异常过程(可选): 用户填写的ID或密码与数据库中的纪录不匹配,客户端; 提示登录失败; 客户端设置的服务器地址或端口有误。3.2.3公聊需求描述:用户在聊天室公聊界面的发言内容,聊天室中的其他在线用户可以正常接受并正确显示(包括发送的表情和用户设置的字体颜色)。执行者:登入用户前置条件:用户登录成功后置条件:无正常过程: 客户端用户登入成功后,启动客户端功能线程; 客户端将用户发送的信息打包传送给服务端; 服务端进行数据分析后,并将用户的信息进
24、行正确的处理; 传给处在聊天室的所有在线其他用户并正常显示。异常过程(可选): 客户端与服务端断开连接,客户端提示信息发送失败; 服务器未登录上线,客户端无法发送信息。3.2.3私聊需求描述:用户可选择聊天室的在线用户列表中任意一个用户聊天,双方发送的信息对于聊天室的其他用户是不可见的。执行者:私聊用户前置条件:用户登录成功,私聊的对方在线后置条件:无正常过程: 客户端与服务端建立通讯; 客户端将用户发送的信息打包传送给服务端; 服务端进行数据分析,查找目的用户的ID,并将用户的信息传给目的用户; 目的用户收到服务器的信息后,正确的显示并保存。异常过程(可选): 客户端与服务端断开连接,客户端
25、无法发送消息。特殊需求(可选):不能与不在线的用户进行私聊。3.2.4发送表情需求描述:用户的聊天内容可以是表情图片执行者:用户前置条件:用户可以正常聊天后置条件:无正常过程: 客户端与服务端建立通讯; 客户端将表情所表示的信息传送给服务端; 服务器端进行数据分析后,查找目的用户的ID,并将所处理的信息传给目的用户; 目的用户端通过本地文件将信息翻译成表情并正确显示在显示窗体中。异常过程(可选): 客户端与服务端断开连接,客户端无法通讯。3.2.5聊天记录需求描述:用户可以查询聊天的历史纪录,包括公聊记录和私聊记录。执行者:用户前置条件:用户正确登入后后置条件:无正常过程: 发送、接收信息的同
26、时将信息保存在本地文件中; 从保存的txt文档中可以查询到历史聊天记录; 从本地文件中读取信息,并显示在记录显示匡中。异常过程(可选): 服务端异常导致客户端退出,客户端提示服务器异常。3.2.6系统消息需求描述:在聊天室的每一个用户都能接收服务端发送的的信息提示消息。执行者:服务端前置条件:服务端正常运行后置条件:无正常过程: 服务器向所有在线用户发送消息; 客户端接收到消息,进行消息处理,并正确显示;异常过程(可选): 服务端异常,重启服务器。3.2.7字体属性设置 需求描述:用户可改变输入消息的字体及颜色执行者:用户前置条件:用户可以正常聊天后置条件:无正常过程: 用户为聊天信息选择新的
27、字体和颜色; 客户端将聊天信息及字体和颜色信息封装,发送到服务端; 服务端处理接受到的数据并正确转发; 目的客户端将接收到的信息解包,根据信息的内容,改变信息显示的字体及颜色,并在目的客户端正确显示出字体效果 。异常过程(可选): 对方不支持字体属性的显示。3.2.8清屏效果 需求描述:清楚所有的文字消息执行者:用户前置条件:用户正常登录后后置条件:无正常过程: 文字过多,用户可清楚用户自己上的所有的文字消息。异常过程(可选): 服务器出现异常,清屏效果无效。3.2.9时钟效果 需求描述:显示时间执行者:用户前置条件:用户正常登录后后置条件:无正常过程: 点击时钟,显示现时时间的多少。异常过程
28、(可选):服务器出现异常,时间无效果3.2.10用户退出需求描述:用户在正常情况下退出聊天室。执行者:用户前置条件:用户成功登录聊天室后置条件:无正常过程: 向服务器发送用户退出消息; 服务器进行用户退出的数据处理; 服务器向聊天室其他用户发送登出消息; 刷新其他在线用户的用户列表信息。第4章 概要设计4.1目的该阶段目的在于明确网络聊天室系统的数据结构和软件总体结构,各个软件模块的功能说明,数据结构的细节,系统运行配置与应用方式以及使用的关键技术。4.2运行环境运行环境见下表。表4.1名 称操作系统类型推荐操作系统版本推荐硬件(CPU/RAM/HD)数据库客户端Windows平台window
29、s 2000以上P4 1.7G/256M/40G服务器Windows平台windows 2000以上P4 3.6G/8G/120G4.3体系结构概述本系统采用C/S的结构设计模式,客户端接收用户的发送的信息到服务器,服务器通过处理转发到另一些客户端。客户端采用图形用户界面,方便与用户交互。服务器端用控制台的方式方便控制操作。系统设计总体原则:本设计不限制用户的组网方式。但对于互联网环境下的安全问题,本系统不能保证解决。系统要具有较强的灵活性,包括对功能设置的管理。整个系统使用简单,界面要美观、大方,具有人性化特点。模块划分简单明了,充分考虑用户已经习惯的划分分类。 客户端分为用户注册、用户登录
30、、信息通讯、管理和查询聊天记录。用户注册和用户用登录封装在用户登录的界面中,用户列表模块封装在系统的主界面中,信息通讯、管理和查询聊天记录模块封装在聊天界面中。服务器端实现消息接收、消息转发、检索等功能。4.4功能设计4.4.1用户注册注册注册界面正确填写注册项提交注册成功用户注册不正确通过注册模块实现用户的在线注册,所填写的注册项目有:用户名、头像、密码、密码确认、性别、年龄和电子邮件。图4-1注册图4.4.2用户登录用户进到登入界面,填写登入用户名和密码实现系统的登入用户进入登入界面输入用户名,密码提交进入系统用户名和密码错误图4-2登录图4.4.3公聊用户登入成功后进入公聊界面,通过输入
31、聊天内容实现和其他的用户聊天,信息显示框输入聊天信息发送信息用户并可以显示其他用户发送的公聊信息。图4-3公聊图4.4.4私聊用户通过选择在线用户列表的其他用户,通过单击列表中的用户名显示与其私聊的对话框,实现和选中的用户进行私聊方式进行交流,其他用户不可见。选择其他用户输入信息发送信息信息显示框用户图4-4私聊图4.4.5表情在用户公聊或私聊时可以同时,可以单击表情按钮改变表情的方式,通过鼠标事件可将选择的表情写入发送窗口中,以增强聊天的表达方式和效果。可以使聊天功能更丰富更有趣。表情发送到信息显示框选着表情发送表情单机表情功能用户图4-5表情图4.4.6字体设置用户在聊天界面的功能模块中,
32、字体设置框中选择所需要设置的字体样式、字体类型、字体大小,并在信息显示框中显示出当前设置的字体效果,并将设置好的字体属性应用到自己的发送信息中。字体设置输入信息发送信息信息显示框用户显示字体效果图4-6字体设置图4.4.7记录保存用户在公聊和私聊的过程的同时,将显示在信息窗体中的聊天内容保存到本地文件中,用户可以通过单击本地文件查看历史聊天记录内容,并可以在下次登入后,查看历史聊天的记录。保存按钮查看聊天记录本地记录文件夹用户单击保存查看图4-7记录保存图4.4.8系统消息用户管理员通过启动服务器后,可以通过服务器操作界面象全部在线的用户发送系统消息,用于发送公告,提示等系统消息,可以方便管理
33、员和客户的交流和管理。用户服务器输入系统消息发送系统消息用户系统管理显示在所有客户端图4-8系统消息图4.4.9 清屏效果用户通过登录客服端后,点击客服端上的清屏效果消除所有的聊天信息,这样可以使界面干净整洁,使用的用户操作更方便。 登录客服端输入信息发送信息信息显示框用户显示清屏效果点击清屏图4-9清屏效果图4.4.10时钟效果用户通过登录客服端后,点击客服端上的时间效果显示时间,这样可以使用户把握住时间的快慢多少,提高用户的时间观。登录客服端用户显示时间效果点击时钟第5章 详细设计本系统采用C/S设计模式,系统分为客户端和服务器端,客户端包括注册模块、登入模块、公聊模块、私聊模块、功能设置
34、模块、和清屏效果和时钟效果。服务器端包括服务器界面,服务器功能实现模块等。5.1 客户端注册l 功能描述用户必须填写注册给定的全部选项,并且按照正确的格式输入,如年龄一项只能输入数字,的格式等等,并可以在申请注册前验证输入的用户名是否已被使用。l 综合设计实现该功能所写的类为:(1)、ZheceRegister类: 用于构建注册的主界面主要成员变量:lblUserName,lblGender,lblAge;lblPassword,lblConfirmPass,lblEmail,logoPosition;主要方法:public ZhuceRegister(String ip)/构造方法(2)、x
35、xx类 用来检测注册的用户名是否已被使用主要成员变量:主要方法:(3)、xxx类 发送注册消息内容主要成员变量:主要方法:(4)、xxx 用户发送给服务器端的注册类型数据主要成员变量:主要方法:用户服务器Data3: 发送注册消息1: 验证信息2:返回验证成功5: 验证失败6:返回注册响应5.2 登入l 功能描述在设置好IP和端口号的条件下,用户在登入界面输入已注册好的用户名和密码登入,通过验证后登入聊天室主界面,输入错误无法登录。l 综合设置实现该功能的主要类和方法(1)、DengluLogin类 实现登入的主窗体主要成员变量:lblServer, lblUserName, lblPassw
36、ord, lblLogo;主要方法:public DengluLogin() /构造登陆的窗体(2)、xxx 类 发送登入数据类型主要成员变量:主要方法:用户服务器客服端3: 发送登录信息1: IP验证成功2:帐号密码验证成功 5: 返回登陆信息4: 验证失败5.3 公聊l 功能描述 用户在公聊界面的信息输入框中输入要发送的信息和表情等,用户可以通过功能设置按钮设置自己定义的字体属性 ,如:字体样式、字体类型、字体大小 、字体显示方式、表情等,并可以应用到信息输入框中, 点发送按钮实现信息的发送。并可以显示其他用户发送的公聊信息和系统所发送的系统信息,并且按照发送来的信息中包含好的显示方式正确
37、显示出信息。用户上线或下线时要在显示窗体中给出提示,并刷新用列表中的用户名。并可以通过双击用户名弹出与该用户进行私聊。l 综合设置 实现该功能的主要类和方法(1)、xxx类 公聊界面主要成员变量:主要方法:本地文件用户服务器其他在线用户本地文件6: 文件输入流读取5: 文件输出流保存1: 发送消息2: 发送消息3: 文件输出流保存4: 文件输入流保存5.4、私聊l 功能描述 用户在私聊界面的信息输入框中输入要发送的信息和表情等,用户可以通过功能设置按钮设置自己定义的字体属性 ,如:字体样式、字体类型、字体大小 、字体显示方式、表情等,并可以应用到信息输入框中, 点发送按钮实现私聊信息的发送。并
38、可以显示其他用户发送过来的私聊信息,并且按照发送来的信息中包含好的显示方式正确显示出信息。l 综合设置 实现该功能所用的主要类和方法(1)、xxx类 私聊界面类主要成员变量:主要方法:本地文件用户服务器其他在线用户本地文件6: 文件输入流读取5: 文件输出流保存1: 发送消息2: 发送消息3: 文件输出流保存4: 文件输入流保存5.5发送系统消息l 功能描述 服务器端收到用户上线或下线时发送给其他在线用户消息提示,并可以根据需要,主动发送消息给客户,实现服务器端的管理。l 综合设置 实现功能的主要类和方法 (1)、xxx类 服务器的用户界面主要成员变量:主要方法:系统管理员服务器在线用户1:
39、发送系统消息2: 发送消息5.6字体设置l 功能描述 每个用户可以根据自己的个人喜好设置自己要发送的内容的字体属性。并可以在其他目的客户界面按照自己所设置的显示方式显示。主要设置了三种字体的属性,分别为字体样式、字体类型、字体大小。l 综合设置 实现该功能的主要类和方法(1)、xxx类 字体设置窗体面板主要成员变量:主要方法:5.7发送表情l 功能描述 用户本地保存按照一定方式文字表情文件,通过本地文字表情文件构建出表情文字,在用户公聊或私聊时可以同时,可以单击表情按钮选着表情,通过鼠标事件可以将选择的表情写入发送窗口中,以增强聊天的表达方式和效果。可以使聊天功能、更丰富更有趣。l 综合设置实
40、现功能的主要类和方法(1)、xxx类 显示表情主要成员变量:主要方法:5.8记录保存和显示l 功能描述 本系统可以在应用中将用户聊天的记录保存在本地文件当中,用户在本地下次登入后,可以查看历史聊天记录。方便用户继续聊天。l 综合设置实现该功能使用的主要类和方法(1)、xxx类 保存信息的方法类主要成员变量:主要方法:5.9清屏效果l 功能描述本系统可以在应用中将用户聊天的所有记录全部删除,使界面更加干净整洁。方便用户继续聊天。l 综合设置(1)、xxx类 显示清屏效果的方法类主要成员变量:主要方法:5.10时钟效果l 功能描述本系统可以在用户聊天中查看时间的消息,可以提高用户的时间观。方便用户
41、继续聊天。l 综合设置(1)、xxx类 显示时钟效果的方法类主要成员变量:主要方法:5.11功能逻辑实现l 逻辑功能描述 本系统采用数据对象流的形式发送和接受信息。客户端连接服务器成功后就启动一个客户端线程和服务器通信。客户端发送的信息分为:注册消息、注册时用户名验证消息、登入消息、公聊消息、私了消息、下线消息等。 服务器端启动一个线程不断的监听客户的请求,当接受到客户请求时就启动一个和该客户端通信的线程。l 综合设置(1)、xxx类 /用于客户端与服务器之间的消息传递(2)、xxx类 /用于登入时发送的信息对象类型(3)、xxx类 /用于注册时发送的信息对象类型(4)、xxx类 /用于用户公
42、聊或私聊时发送的信息对象类型(5)、xxx类 /客户端连接服务器成功后启动的线程(6)、xxx类 /服务器端为用户启动的服务器线程(7)、xxx类 /实现提示用户私聊消息(8)、xxx类 /显示信息内容第6章系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:6.1测试举例6.1.1测试程序登录界面 打开程序后,首先出现的是登录页面,在设置好网络IP和端口号之后,输入用户名和密码,如果连接服务器成功则提示用户输入的用户名和密码是否正确,否则提示未能建立到指定服务器的连接口。6.1.2测试程序主界面进入主界面后,主页面会显示在线用户列表区、信息显示区、功能设置区、信息发送区、功能按钮区。用户可以在用户列表中看到目前在线的其他用户,