2.4 系统开发及运行环境
(1) 系统开发平台:本系统采用eclipse 及WINDOWSXP设计。
(2) 硬件环境:
运行本系统的硬件基本要求如下:
CPU:Intel P3及以上;
内存:256MB及以上;
硬盘:40GB及以上。
(3) 数据库管理系统软件:SQL Server 2000。
第3章 系统总体设计
3.1 总体构架
基于Java的网络聊天系统设计与实现主要考虑三个个方面的设计,即服务器模块设计,服务器客与客户端通信规则设计和客户端模块设计,本系统整体构架如图3.1所示。
确指定这个连接数,默认最大连接数为50,也就是说,客户端的请求队列最大可以容纳50 个请求,当超过这个最大连接数时,用户的请求将不再会被响应。利用SocketServer也提供了一些方法,它们主要有:
accept() 返回一个“已连接”的Socket 对象
getInetAddress() 得到该服务器的IP 地址
getLocalPort() 得到服务器所侦听的端口号
setSoTimeout() 设置服务器超时时间
getSoTimeout() 得到服务器超时时间
服务器和客户端通过Socket简单通信框架下图所示。
5.2.1多线程服务器模块实现
服务器模块核心功能是使用Socket Server实现多线程的服务器,针对每一个客户建立一个单独的线程处理客户端的请求。其具体思路是,首先建立Socket Server,并绑定服务器IP和某个未使用的端口。然后监听该端口,如果有客户端的Socket连接则建立一个客户端线程ClientThread类对象,有该对象处理该客户的一些请求,并在ClientThread中保存User Bean对象,该对象保存了用户的一些基本信息,比如账号、密码、年龄、是否在线等。如果服务器没有关闭Socket Server则服务器则一直处理客户端连接。其核心代码如下。
public class MessageServer extends Thread {
//服务器端SocketServer
private ServerSocket server;
private boolean isStop = false;
public MessageServer(int port) throws IOException {
server = new ServerSocket(port);
}
/**