18,363
社区成员




BOOL CServer::PostAccept(CHandleData* pHandleData, CIoData *pIoData)
{
pIoData->OperationType = IO_TYPE_ACCEPT;
DWORD dwBytesRecv = 0;
pHandleData->accSock = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,WSA_FLAG_OVERLAPPED);
BOOL b = AcceptEx(m_ListenSock, pHandleData->accSock, pIoData->szBuff, 0/*表示尽快建立连接,不等待数据*/,
sizeof(sockaddr)+16, sizeof(sockaddr)+16, &dwBytesRecv, (LPOVERLAPPED)&pIoData);
if(!b){
int err = WSAGetLastError();
if(err != WSA_IO_PENDING){
SetErrorString(_T("IO_TYPE_ACCEPT出错!"));
return FALSE;
}
}
pHandleData->pIOData = pIoData;
return TRUE;
}
BOOL CServer::PostAccept(CHandleData* pHandleData, CIoData *pIoData)
{
pIoData->OperationType = IO_TYPE_ACCEPT;
DWORD dwBytesRecv = 0;
pHandleData->accSock = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,WSA_FLAG_OVERLAPPED);
BOOL b = AcceptEx(m_ListenSock, pHandleData->accSock, pIoData->szBuff, 0/*表示尽快建立连接,不等待数据*/,
sizeof(sockaddr)+16, sizeof(sockaddr)+16, &dwBytesRecv, (LPOVERLAPPED)&pIoData);
if(!b){
int err = WSAGetLastError();
if(err && err != WSA_IO_PENDING){
SetErrorString(_T("IO_TYPE_ACCEPT出错!"));
return FALSE;
}
}
pHandleData->pIOData = pIoData;
return TRUE;
}
BOOL CServer::PostAccept(CHandleData* pHandleData, CIoData *pIoData)
{
pIoData->OperationType = IO_TYPE_ACCEPT;
DWORD dwBytesRecv = 0;
pHandleData->accSock = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,WSA_FLAG_OVERLAPPED);
BOOL b = AcceptEx(m_ListenSock, pHandleData->accSock, pIoData->szBuff, 0/*表示尽快建立连接,不等待数据*/,
sizeof(sockaddr)+16, sizeof(sockaddr)+16, &dwBytesRecv, (LPOVERLAPPED)&pIoData);
if(!b){
int err = WSAGetLastError();
if(err != WSA_IO_PENDING){
SetErrorString(_T("IO_TYPE_ACCEPT出错!"));
return FALSE;
}
}
pHandleData->pIOData = pIoData;
return TRUE;
}