WinSock API实现UDP协议的详细代码(1)(4)
(5) 注册网络事件。
网络事件定义:
FD_READ: 网络数据包到达
FD_WRITE: 发送网络数据
FD_OOB: OOB数据到达
FD_ACCEPT: 收到连接请求
FD_CONNECT: 已建立连接
FD_CLOSE: 断开连接
FD_QOS: 服务质量(QoS)发生变化
FD_GROUP_QOS: 保留事件
FD_ROUTING_INTERFACE_CHANGE: 指定地址的路由接口发生变化
FD_ADDRESS_LIST_CHANGE: 本地地址变化
#define WM_NETWORK_EVENT WM_USER + 102
if (WSAAsyncSelect(m_Socket, m_hWnd, WM_NETWORK_EVENT, FD_READ) == SOCKET_ERROR)
{
AfxMessageBox("注册网络事件失败!");
}
(6) 处理网络事件。
afx_msg LRESULT OnNetworkEvent(WPARAM wParam, LPARAM lParam);
ON_MESSAGE(WM_NETWORK_EVEN, OnNetworkEvent)LRESULT OnNetworkEvent(WPARAM wParam, LPARAM lParam)
{
switch (WSAGETSELECTEVENT(lParam))
{
case FD_READ:
// 接收数据
break;
}
return 0L;
}
评论暂时关闭