安全地在网络流上超时ReadLine

时间:2012-05-10 07:56:31

标签: c# timeout tcpclient

如何安全地超时以下代码?

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()是线程安全的吗?

1 个答案:

答案 0 :(得分:1)

您可以使用内置ReceiveTimeout属性。