目录
1、通过Socket建立服务端:
(1)、创建一个Socket对象并绑定一个端口:CListenSocket 监听Socket
(2)、通过Listen()函数,监听来自客户端的连接请求
(3)、连接请求到来之后,建立一个通信用的Socket,CConnectSocket,并且加入数组中
(4)、使用Send()、Receive()函数,接收客户端发送的数据,并遍历数组,一次转发消息
2、UI设计:
3、代码的实现:
(1)、CListenSocket类
CListenSocket的目的是等待客户端的连接请求,继承Socket类,重写Socket的OnAccept函数,创建Socket对象,连接的初始化和等待客户端连接。
CListenSocket.h中
CListenSocket.cpp中
(2)、CConnectSocket类
CConnectSocket的目的是通讯用的Socket,继承Socket类,重写Socket的OnReceive函数,数据的接收和处理以及数据的解析。
CConnectSocket.h中
CConnectSocket.cpp中
(3)、CTcpServerDlg类
1)、声明服务端用于监听的socket
2)、声明一个CArray的对象,里面存放的CConectSocket指针
3)、定义一个结构体,保存客户端的IP和Port
4)、框架类的入口函数初始化监听Socket和端口号
5)、实现ProcessPendingAccept()函数
主要实现监听服务器的连接,监听到了就加到列表中
6)、实现ProcessPendingRead()函数
数据的接收,并且存放在buff中
把连接到的客户端IP和Port存放在结构体中
解析数据:加入房间enter
显示到界面
解析数据:离开房间leave
发送给每一个客户端消息
更新界面
发送的是普通消息