储与客户端通信的Socket的数组
/*各种网络异步事件的处理函数*/
void OnClose(SOCKET CurSock); file://对端Socket断开
void OnSend(SOCKET CurSock); file://发送网络数据包
void OnReceive(SOCKET CurSock); file://网络数据包到达
void OnAccept(SOCKET CurSock); file://客户端连接请求
BOOL InitNetwork(); file://初始化网络函数
void OnNetEvent(WPARAM wParam, LPARAM lParam); file://异步事件回调函数
…
};
在SocketSeverDlg.cpp文件中增加消息映射,其中OnNetEvent是异步事件回调函数名:
ON_MESSAGE(NETWORK_EVENT,OnNetEvent)
定义初始化网络函数,在SocketSeverDlg.cpp文件的OnInitDialog()中调此函数即可。
BOOL CSocketSeverDlg::InitNetwork()
{
WSADATA wsaData;
file://初始化TCP协议
BOOL ret = WSAStartup(MAKEWORD(2,2), &wsaData);
if(ret != 0)
{
MessageBox("初始化网络协议失败!");
return FALSE;
}
file://创建服务器端套接字
ServerSock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(ServerSock == INVALID_SOCKET)
{
MessageBox("创建套接字失败!");
closesocket(ServerSock);
WSACleanup();
return FALSE;
}
&