您的位置:首页 > 编程语言

基于Socket/ServerSocket多线程实现的聊天室[附源代码]

2011-07-19 17:40 134 查看

主要说明的是:

1.服务器端开启3个线程:

主线程进行端口监听,
第一个子线程由主线程派生出来,用来遍历所有已接入的客户端,
第二个线程由第一个子线程派生出来,用来将客户端发送的信息转发给所有的客户端,第二个线程其实是多个,这里的第二个是层次的说明。
主线程 -----> 遍历线程 -----<获取到客户端发送的信息>-----> 转发线程

2.客户端开启2个线程:

主线程获取用户输入,
子线程读取服务器送回的数据并显示。

3.客户端的信息输入

用户可以进行输入信息,输入特定的字符串时结束输入并将信息发送至服务器。

4.服务器接收信息

服务器读取到客户端信息后需要将构建一个信息对象,然后将该对象转发给所有的客户端。

5.服务器的日志记录

创建一个文件保存服务器的运行记录,创建时主要检查文件是否已存在。

6.对象传送

将对象转换为字节流进行发送,需要进行序列化。对于需要序列化的对象,其成员变量必须是可序列化的。

7.工程目录:



ClientBean:客户端对象,服务器端程序与客户端程序都需要使用,无法序列化。
ClientManager:服务端维护所有客户端的工具类。
EntranceClient:客户端入口程序。
EntranceServer:服务器入口程序。
MessageBean:服务器发送给客户端的信息对象,需要进行序列化。
MessageBroadcaster:服务器信息广播子线程,在服务器获取客户端发送的信息后调用。
Sender:信息发出者,包含了客户端的IP(String),Port(int),是MessageBean的一个成员变量。
SerialMessage:对象转换为字节/字节解析成对象。
ServerLog:服务器端日志操作。

源代码下载:http://bk461409485.download.csdn.net/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: