java聊天系统代码[1].doc

2026/4/24 8:26:51

多层应用程序的体系结构有很多强过客户/服务器的优点:业务规则集中、瘦客户体系结构、自动错误调和、负载平衡、可重用性、灵活性、可管理性、易维护性等一系列优良的特性。

开发C/S体系结构采用的主要工具有:

(1) Borland 公司的Delphi 7,Jbuilder2005。

(2) Sybase 公司的Powerbuilder10.5。

(3) 微软公司的VB、VF等。 分析任务

聊天系统不外乎两个方面,服务器端和客户端。简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。首先来看一下服务器端的任务:

1.服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。

2.服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。

以上就是服务器端最主要的两个任务。不难看出,服务器端的任务并不复杂。

客户端应该完成的工作包括:

1.与服务器端建立通信通道,向服务器端发送信息。 2.接收来自服务器的信息。

相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。

进一步分析系统结构。

一个网络聊天室的运行,首先是要有一个完整稳定的服务器端,并且拥有很多个服务器端。客服端要具有实现用户注册和用户登陆,在登陆成功后,要显示出公聊界面,实现聊天功能并且能够发送表情和保存聊天内容和显示聊天记录等功能,在新用户上线和用户下线时要更新每个客户端在线用户列表名,并且可以和在线的用户实现一对一的私聊功能。

在服务器端可以实现不断的监听客服的连接,并且根据客户端发送过来的不同信息如注册信息,登录信息,公聊信息,私聊信息,退出信息等,服务器端要做出不同的响应,并且要实现数据库的操作,如根据用户注册的信息保存数据库中,根据登录时发送来的用户名和密码检测是否合法用户等。

完成上述分析之后,就开始对每个问题展开研究。

聊天室的发展

聊天室做为即时通讯的一种,即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯,以及微软的MSN Messenger都是大众关注的焦点,它们能让你迅速地在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而且,现在不少IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。

IM软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis公司,并于同年11月推出了全世界第一个即时通讯软件ICQ,取意为“我在找你”——“I Seek You”,简称ICQ了。直到现在,ICQ已经推出了它的2002a版本,在全球即时通讯市场上占有非常重要的地位。

目前,国内最为流行的即时通讯软件是OICQ(简称)。它以良好的中文界面和不断增强的功能形成了一定的网络文化。Messenger虽出道较晚,但依托微软的强大背景,实力也不可小视。作为Windows XP的一部分,

Messenger 整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。它的令人耳目一新的中文界面和注册方式,连同它强大的功能,着实吸引了众多的眼球的注视,此外还有许多有特点的IM软件。 聊天室设计

1.客户端功能模块 · 用户注册功能,实现用户的登陆ID注册和个人信息,并存入服务器数据库中。

· 用户登录功能,实现合法注册用户的登陆。

· 私聊功能,实现用户和在线的其他用户一对一的聊天方式。

· 公聊功能,实现用户和在线的所有用户聊天方式。

· 显示时钟功能。

· 查看聊天记录,实现用户查看已聊天的历史聊天内容。

· 发送表情和设置聊天内容字体,并可以设置字体颜色和背景色等。

2.服务器端功能模块 · 可以不断的监听客户端请求

· 显示登陆客户的信息、当前在线人数、服务器开启状态、保存日志、用户在线列表

· 发送系统消息

3.数据分析和设计

数据库在信息管理系统中占有非常重要的地位,其设计的好坏直接影响到整个系统的效率和性能。设计数据库系统时,首先要完成系统的需求分析,包括现有的已及将来可能添加的需求,从而使整个系统具有很好的可扩展性。

1、 数据库需求分析

2、 数据库概念设计

3、 数据库逻辑结果设计

4.聊天系统细化

当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端。

当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问,具体实现过程如图3-6所示。

接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。

当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。 普通用户登录/退出系统

用户发送登录请求,客户端获取用户登录信息并发送到服务器端,服务器启动用户登录管理线程,获取用户名和密码进行登录验证,将验证结果返回客户端显示 用户注册

用户第一次进入聊天室时需要进行用户注册才能登陆聊天室聊天。注册流程如下:用户提出注册请求,客服端响应,弹出注册信息对话框,用户输入相关信息并提交,客户端首先进行合法检查,确定无误后将数据信息发送给服务器端。服务器接收到请求后,启动单独得线程进行处理,首先进行合法性检查,确认登录名与系统中已注册得用户登陆名不相同后更新数据,并返回信息,客服端进行显示。

发言是聊天室的核心功能,用户提出发言请求,客户端接受发言的内容和其他各种设置(公聊或私聊),打包发给服务器端。服务器接收到请求后确定聊天方式。服务结果最后显示在客户端。

用户的需求具体体现在各种信息的提供、保存、更新和查询。这就要求数据存储能够充分得满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理流程,组成一份详细得数据字典,为下一步具体设计做好充分的准

现在需要将数据封装设计E-R图转化为能被实际数据库系统所支持的实际数据模型。

Customer.java 对登陆的用户进行封装,包括:用户名 密码,用户头像。

Register_Customer.java对注册信息进行封装,包括:用户名,密码,性别,年龄,电子邮箱,用户头象。


java聊天系统代码[1].doc.doc 将本文的Word文档下载到电脑
搜索更多关于: java聊天系统代码[1].doc 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219