TcpListener超时后该怎么办?

时间:2016-01-18 18:39:37

标签: c# sockets tcplistener

我似乎无法找到这个问题的答案,这似乎很奇怪。尝试在C#windows窗体应用程序中使用TcpListener时,我可以在TcpListener的Server对象上设置超时,但是当发生超时时我该怎么办?我怎么知道它发生了?在Python中的低级套接字编程中,我可以指定一个超时事件处理程序,但我没有在C#中看到这样做的方法。

1 个答案:

答案 0 :(得分:2)

使用同步SendTimeout时,Send值仅 。达到超时后,Send会抛出SocketException - 这就是您知道Send失败的原因。

实际上,你不应该对底层winsocket对象做任何事情 - 几乎在所有情况下你应该需要的只是TcpListenerTcpClient自己公开的方法和属性。