- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安郵電學院 目:基于TCP SOCKET的JAVA聊天室
院系名称: 计算机学院
专业名称: 网络工程
班 级:
学生姓名:
学号(8位):
指导教师:
设计起止时间:2011年月日~20年月日(2). 可以与聊天室成员私聊。(3). 可以改变聊天内容风格。(4). 用户注册(含头像)、登录。(5). 服务器监控聊天内容。(6). 服务器过滤非法内容。(7). 服务器发送通知。(8). 服务器踢人。(9). 保存服务器日志。(10).保存用户聊天信息。
该简易聊天室是为许多喜爱聊天的用户开发设计的,和许多大型的网络聊天室相比该小聊天室功能比较简单,但能实现基本的聊天功能,点对多、点对点聊天和基本的用户功能,登录、查看在线用户等。
1.2 软件功能描述
(1)、户设置:用户自定义自己的登录名,成功设置后,服务端能接收到新设置的用户名。
(2)、登录功能(3)、公聊:用户可以与“所有人”聊天,在线用户可正常接收并正确显示公聊消。
(4)、私聊:用在线用户和其他用户聊天。记录对于聊天室的其他用户是不可见的。
(5)、聊天心情:用户在聊天的过程中可以选择相应的心情来表达自己的情感。
(6)、系统消息:服务端运行,为每一个用户都能接收服务器端发送的信息提示信息。
(7)、用户的状态.启动服务:启动服务器,并开始在设置的端口中侦听,客户端用户可以登录并聊天。停止服务:关闭服务器,侦听结束。客户端用户不能再聊天。发送系统消息:服务器端给所有人或者个别用户发送消息。消息显示:可以显示所有用户的聊天记录,和上线、下线信息。退出服务器:退出程序,并停止服务。
2.1.2客户端模块图
用户设置:用户可以设置自己的用户名进行聊天。
连接设置:用户可以设置自己的服务器的IP,端口号,默认地址为:127.0.0.1:8888。
用户登录:在聊天室服务端已开启的情况下,用户才能登录,之后才能开始聊天。用户注销:退出聊天,可以继续修改用户设置和连接设置。
发送和接收聊天信息:用户可以用户发送信息,并能看送给自己或所有人的消息。
退出:关闭所有聊天并退出客户端。
2. 2 流程图
设置侦听端口
默认端口:8888
设置用户名
默认连接地址或用户名
设置IP地址和端口
2. 3 服务器客户端关系图
(1). 聊天室服务器端设计:
2.3.1聊天室服务器端设计
聊天室服务端主要包括4个文件,它们的功能如下:
(1)AppServer .java 服务器端进行监听客户端进行服务器的启动,以及端客户进行处理用户退出。
(2)ServerFrame 为服务器端管理界面,负责用户帐号信息保存和用户在线的状态和相关服务器端口的信息以及访问的方式。
(3)serverChat.java 负责对用户信息的处理包括公聊和私聊的信息的发送以及将聊天信息的序列化对象填加到保存聊天信息的记事本中。
2.3.2聊天室客户端设计
聊天室客户端主要包括6个文件,其主要功能如下:
(1).ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。
(2).Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。
(3).Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。
(4).ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。
(5).Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。
(6).Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。
第三章 主要程序代码和界面展示
3.1 服务器端启动代码和界面
3.1.1 服务器启动代码
public class AppServer extends Thread {
private ServerSocket serverSocket;
private ServerFrame sFrame;
private static Vector userOnline = new Vector(1,
文档评论(0)