我似乎无法找到这个问题的答案,这似乎很奇怪。尝试在C#windows窗体应用程序中使用TcpListener时,我可以在TcpListener的Server对象上设置超时,但是当发生超时时我该怎么办?我怎么知道它发生了?在Python中的低级套接字编程中,我可以指定一个超时事件处理程序,但我没有在C#中看到这样做的方法。
答案 0 :(得分:2)
使用同步SendTimeout
时,Send
值仅 。达到超时后,Send
会抛出SocketException
- 这就是您知道Send
失败的原因。
实际上,你不应该对底层winsocket对象做任何事情 - 几乎在所有情况下你应该需要的只是TcpListener
和TcpClient
自己公开的方法和属性。