停止服务器端超时
本文关键字:超时 服务器端 | 更新日期: 2023-09-27 18:27:00
在我的客户端中,我完成了:
TcpClient client = new TcpClient();
client.ReceiveTimeout = 1000;
client.SendTimeout = 1000;
我在服务器端做这件事也得到了分数,我试着在服务器上的TCPListener上使用intellisense进行检查,但我什么都找不到。
有什么想法吗?
在服务器端,您使用的是TcpListener
,它不过是Socket
或TcpClient
工厂。
在服务器代码的某个地方,您将看到AcceptTcpClient
或AcceptSocket
(或它们的异步对应物)。类似于:
TcpClient clientConn = listener.AcceptTcpClient();
现在,您已经从问题中的代码片段中获得了相当于client
的内容。因此,设置超时:
clientConn.ReceiveTimeout = 1000;
clientConn.SendTimeout = 1000;
如果Socket
实例就是这样使用的,那么您可以对它执行类似的操作(如果是这样的话,我可以挖掘一些代码),但总的来说,它几乎是一样的。
更新
由于在服务器端使用的是AcceptSocket
而不是AcceptTcpClient
,因此可以使用以下内容:
Socket clientConn = listener.AcceptSocket();
clientConn.ReceiveTimeout = 1000;
clientConn.SendTimeout = 1000;
它基本上是相同的,只是对clientConn
使用了不同的类型。