是否可以检查客户端套接字目前是否保持连接活动?我使用使用 AsyncCallBack 操作的多线程服务器。关于这个问题有很多类似的问题,我已经阅读了 Socket.Poll 方法 - 一切都无法正常工作。
尝试应用此示例:
bool IsConnectedAviable(Socket s)
{
try
{
if (s != null && s.Connected)
{
if (s.Poll(0, SelectMode.SelectRead))
{
byte[] buff = new byte[1];
if (s.Receive(buff, SocketFlags.Peek) == 0)
{
return false;
}
else
{
return true;
}
}
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
提前致谢!:)