【发布时间】:2016-01-19 02:47:18
【问题描述】:
我似乎无法找到这个问题的答案,这似乎很奇怪。当尝试在 C# windows 窗体应用程序中使用 TcpListener 时,我可以在 TcpListener 的 Server 对象上设置超时,但是当发生超时时我该怎么办?我如何识别它发生了?在 Python 的低级套接字编程中,我可以指定一个超时事件处理程序,但我看不到在 C# 中这样做的方法。
【问题讨论】:
标签: c# sockets tcplistener
我似乎无法找到这个问题的答案,这似乎很奇怪。当尝试在 C# windows 窗体应用程序中使用 TcpListener 时,我可以在 TcpListener 的 Server 对象上设置超时,但是当发生超时时我该怎么办?我如何识别它发生了?在 Python 的低级套接字编程中,我可以指定一个超时事件处理程序,但我看不到在 C# 中这样做的方法。
【问题讨论】:
标签: c# sockets tcplistener
SendTimeout 值仅在使用同步 Send 时使用。当超时时,Send 将抛出一个SocketException - 这就是你知道Send 失败的方式。
实际上,您实际上不应该对底层的 winsocket 对象做任何事情 - 在几乎所有情况下,您只需要TcpListener 和TcpClient 本身公开的方法和属性即可。
【讨论】: