TcpListener超时后怎么办?

What to do after TcpListener times out?

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

SendTimeout 仅在使用同步 Send 时使用 。超时时,Send 将抛出 SocketException - 这就是您知道 Send 失败的方式。

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