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 回答