在我的客户中,我做到了:
TcpClient client = new TcpClient();
client.ReceiveTimeout = 1000;
client.SendTimeout = 1000;
我也得到服务器端的标记,我尝试在我的服务器上的TCPListener上使用intellisense进行检查,但我找不到任何东西。
有什么想法吗?
答案 0 :(得分:3)
在服务器端,您使用的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
使用不同的类型。