2.1 客户端
进入聊天室主界面之前有一个登陆对话框。其中包括服务器ip地址,用户名和密码的填写。聊天室的主界面主要分为两个大容器,中间是textViewTalk(TextArea),显示详细的聊天信息,界面下面是一个输入的界面,包括发言(labelTalk)、发送按钮,聊天信息输入框(textTalk),在线人员下拉列表(ComboBox组合框)。
ChatClient:主类,实现客户端的主要功能
// 窗口绘制
public class ChatClient extendsJFrame
// 建立与服务端通信的套接字
void connectServer()
// 监听事件
public void actionPerformed(ActionEvent evt)
ClientThreat:处理聊天的类
2.2 服务器端
ChatServer:主类,服务器启动及监听;
// 服务器启动及监听;
public ChatServer()
// 获取服务器的主机名和IP地址
public void getServerIP()
ServerFrame:服务器窗口界面绘制
// 服务器窗口绘制
public ServerFrame()
// Log信息保存
protected void saveLog()
ServerProcess:服务器处理
// 处理与客户端连接的功能
public ServerProcess(Socket client, ServerFrame frame)
// 判断是否有该注册用户
private boolean isExistUser(Stringname)
// 判断用户的用户名密码是否正确
private boolean isUserLogin(String name, String password)
// 用户注册
private void register()
// 用户登陆
private void login()
// 用户登陆成功
private void userLoginSuccess(String name)
// 刷新在线用户列表
private void freshClientsOnline()
// 用户关闭套接字,并将用户信息从在线列表中删除
private String closeSocket()
3. 程序运行及说明