如何判断socket已经关闭
2个回答
展开全部
采用CAsyncSocket::AsyncSelect(FD_CLOSE),
则在远程socket关闭的时候,会触发OnClose消息。
在OnClose里面填写
if(CAsyncSocket::m_hSocket!=INVALID_SOCKET)
{
CAsyncSocket::Close();
}
CAsyncSocket::OnClose(nErrorCode);
当远程socket关闭时,自动将自己关闭。
要判断远程是否关闭,直接判断自己的
CAsyncSocket::m_hSocket是否为INVALID_SOCKET即可。
则在远程socket关闭的时候,会触发OnClose消息。
在OnClose里面填写
if(CAsyncSocket::m_hSocket!=INVALID_SOCKET)
{
CAsyncSocket::Close();
}
CAsyncSocket::OnClose(nErrorCode);
当远程socket关闭时,自动将自己关闭。
要判断远程是否关闭,直接判断自己的
CAsyncSocket::m_hSocket是否为INVALID_SOCKET即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询