3

次のコードを安全にタイムアウトするにはどうすればよいですか?

var client = new TcpClient("localhost", 6000);
new StreamReader(client.GetStream()).ReadLine(); // close the client if no line arrives after 5 seconds...

client.Close()以前は、タイムアウトの期限が切れた場合に client.Close() を呼び出す別のスレッドでタイマーを実行していましたが、そのような呼び出しはスレッドセーフではないと思いますか?

4

1 に答える 1

2

組み込みのReceiveTimeoutプロパティを使用できます。

于 2012-05-10T08:01:46.953 に答える