2

我在包装套接字的 NetworkStream 之上使用 SslStream,在这种情况下如何检测套接字断开连接。

换句话说,我想检测远程客户端是否关闭了连接。

4

2 回答 2

3

读取时会收到 EOS,写入时会收到 IOException。

于 2012-09-15T00:50:47.977 回答
2

在内部套接字上使用 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");
}
于 2014-02-17T14:49:39.850 回答