谁能给我讲解一下这个函数呀

iuhxq iuhxq 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
LRESULT CPublicNetSoftDlg::OnAccept(WPARAM wParam,LPARAM lParam)
{//×Ô¶¨Òå½ÓÊÕ¿Í»§»úÇëÇóµÄÏûÏ¢ ON_MESSAGE(WM_CLIENT_ACCEPT,OnAccept)
if (WSAGETSELECTERROR(lParam))
{
list.InsertString(0,"Error detected on entry into OnServerAccept.");
return 0L;
}

if(WSAGETSELECTEVENT(lParam) == FD_ACCEPT)//Èç¹û
{
Client = accept(ServerSocket,(LPSOCKADDR)&m_sockServerAddr,0);

if (Client == INVALID_SOCKET)
{
list.InsertString(0,"Server socket failed to accept connection.");
return 0L;
}

WSAAsyncSelect(Client,m_hWnd,WM_CLIENT_READCLOSE,FD_READ|FD_CLOSE);

IsTrue = TRUE;
}

list.InsertString(0,"连接");

return 0L;
}

1。WPARAM wParam,LPARAM lParam这两个参数什么意思?
2。这个函数在#define WM_CLIENT_ACCEPT WM_USER+101发生时会调用,他是怎么发生这个事件的。是SOCKET对象产生的么?
3。WSAAsyncSelect(Client,m_hWnd,WM_CLIENT_READCLOSE,FD_READ|FD_CLOSE);这句会把FD_READ和FD_CLOSE转化成WM_CLIENT_READCLOSE事件么?怎么转化的?
...全文
评论 4
收藏 已收藏
分享
返回顶部
iuhxq
网络编程 18,356 成员 64,161 内容