c# - 在网络流上安全超时 ReadLine

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

最佳答案

您可以使用内置的 ReceiveTimeout 属性。

关于c# - 在网络流上安全超时 ReadLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529702/

相关文章:

c# - 如何锁定单个骨架

c# - 如何创建从反射获得的类型列表

http - JMeter 连接超时和重试

c# - SmtpClient 邮件发送超时

c# - 表明已通过网络接收到所有数据的最佳方式?

c# - 如何修复 TcpClient Ip Header Bad Checksum

sockets - c# 如何将多个客户端连接到 TcpListener

c# - .NET Google Calendar API 按日期排序事件

c# - POST 请求响应 404,而 GET 请求工作正常 .NET Core、React

eclipse - 有没有办法在 Minecraft 客户端连接到服务器时设置超时时间?这是由于Eclipse调试造成的