如何检查Socket是否断开
2014-12-16
展开全部
Windows下通过WSASend、WSARecv函数的返回值和错误代码判断,而者缺一不可!
iRet = WSARecv(pClient->m_Socket, &(pBuffer->m_WsaBuffer), 1, &lIoSize, &lFlags, &(pBuffer->m_Olp), NULL);
if(SOCKET_ERROR == iRet && ERROR_IO_PENDING != WSAGetLastError())
{
TRACE("ServerIoThread WSARecv call ClearClient: %d\r\n",pClient->m_Socket);
pThis->ClearClient(pClient,pBuffer);
}
iRet = WSARecv(pClient->m_Socket, &(pBuffer->m_WsaBuffer), 1, &lIoSize, &lFlags, &(pBuffer->m_Olp), NULL);
if(SOCKET_ERROR == iRet && ERROR_IO_PENDING != WSAGetLastError())
{
TRACE("ServerIoThread WSARecv call ClearClient: %d\r\n",pClient->m_Socket);
pThis->ClearClient(pClient,pBuffer);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应
|
问题解决率99%
|
24小时在线
立即免费咨询律师
16024人正在获得一对一解答
长春极地风情4分钟前提交了问题
深圳蓝天飞翔3分钟前提交了问题
厦门蝴蝶飞舞1分钟前提交了问题