主题:[讨论]如何做到阻塞模型与非阻塞模型之间正确切换?
while(pSrv->bStopSrv)
{
SOCKET sockTemp = accept(pSrv->socketListen,(SOCKADDR*)&ClientAddr,&addr_length);
if(sockTemp == INVALID_SOCKET)
{
continue;
}
myStructure.Socket = sockTemp;
myStructure.hWnd = hServerWnd;
hThread = CreateThread(NULL,0,ClientThread,(LPVOID)&myStructure,0,&dwThreadId);
if (hThread)
{
CloseHandle(hThread);
}
pSrv->AddSocket(sockTemp);
}
ClientThread采用阻塞模型,而AddSocket(sockTemp)采用WSAEventSelect非阻塞
我最终的希望是进入ClientThread线程后变成阻塞模型,如果进入AddSocket就变成非阻塞模型。
阻塞模型与非阻塞模型之间可以正确切换,谢谢高手们了。。。。
{
SOCKET sockTemp = accept(pSrv->socketListen,(SOCKADDR*)&ClientAddr,&addr_length);
if(sockTemp == INVALID_SOCKET)
{
continue;
}
myStructure.Socket = sockTemp;
myStructure.hWnd = hServerWnd;
hThread = CreateThread(NULL,0,ClientThread,(LPVOID)&myStructure,0,&dwThreadId);
if (hThread)
{
CloseHandle(hThread);
}
pSrv->AddSocket(sockTemp);
}
ClientThread采用阻塞模型,而AddSocket(sockTemp)采用WSAEventSelect非阻塞
我最终的希望是进入ClientThread线程后变成阻塞模型,如果进入AddSocket就变成非阻塞模型。
阻塞模型与非阻塞模型之间可以正确切换,谢谢高手们了。。。。