18,356
社区成员
发帖
与我相关
我的任务
分享
m_wsaEventCli = ::WSACreateEvent();
::WSAEventSelect( m_sockClient, m_wsaEventCli, FD_OOB | FD_READ );
DWORD WINAPI ThreadProcDevice( LPVOID lpParameter ) //处理设备
{
TRACE(_T("\n处理设备信息线程开始运行!"));
ASSERT(lpParameter);
CDataMgr* pDataMgr = (CDataMgr*)lpParameter;
while(TRUE)
{
int iReturn = WSAWaitForMultipleEvents( 1, &pDataMgr->GetEventDev(), FALSE, WSA_INFINITE, FALSE );
if( iReturn == WSA_WAIT_FAILED || iReturn == WSA_WAIT_TIMEOUT )
{
continue;
}
WSANETWORKEVENTS event;
WSAEnumNetworkEvents( pDataMgr->GetSockDevice(), pDataMgr->GetEventDev(), &event );
if(event.lNetworkEvents & FD_READ)
{
pDataMgr->Recv( TRUE, 1 );
}
else
{
continue;
}
//WSAResetEvent(pDataMgr->GetEventDev());
}
TRACE(_T("\n处理设备信息线程结束!"));
return 0;
}