需求分析
局域网聊天室是单服务器端,多个客户端的聊天程序,多个客户端可以通过配置 IP 和端口号来连接服务器。
我们利用 socket 编程,服务器端建立线程套接字,通过绑定监听等待客户端的请求,一旦有客户端请求连接则建立连接,双方进行通信,而客户端则主动去连接服务器,基本步骤相同。
详细设计
主要流程图
过程如下:
服务器端:
- 初始化建立线程
- 开始运行主线程
- 创建套接字
- 绑定套接字
- 监听端口
客户端:
- 初始化建立线程
- 开始运行主线程
- 创建套接字
- 绑定套接字
- 连接请求
- 连接成功开始通信
- 主要数据结构
class CClientItem {
public:
CString m_strIp;
SOCKET m_Socket;
HANDLE hThread;
CChatRoomDlg *m_pMainWnd;
C