谁能给我讲解一下这个函数呀
iuhxq 2004-07-05 02:13:21 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事件么?怎么转化的?