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 に答える