我在包装套接字的 NetworkStream 之上使用 SslStream,在这种情况下如何检测套接字断开连接。
换句话说,我想检测远程客户端是否关闭了连接。
我在包装套接字的 NetworkStream 之上使用 SslStream,在这种情况下如何检测套接字断开连接。
换句话说,我想检测远程客户端是否关闭了连接。
读取时会收到 EOS,写入时会收到 IOException。
在内部套接字上使用 poll 方法:
if (client.Client.Poll(0, SelectMode.SelectRead))
{
read = 0;
read = br.Read(buffer, 0, buffer.Length);
if (read > 0)
{
Console.Write(Encoding.ASCII.GetString(buffer, 0, read));
}
else
throw new Exception("Socket closed");
}