.net 如何设置socket.connect()调用的超时?
我有一个应用程序可以连接到可能已关闭的主机。如果主机停机,我不想等待30秒左右的超时时间。我现在正在使用阻塞插座 我一直在研究socket.poll()和socket.select(),但我更希望在socket上设置一个时间。我不介意这是否是我必须在系统中的某个地方进行的设置。此外,我似乎明白,轮询和选择不适用于面向连接的通信-这是正确的吗 如果这是绝对不可能的,那么使用poll、select或其他技术获得所需结果的好方法是什么?请参见和 更新:有一个更好的例子.net 如何设置socket.connect()调用的超时?,.net,sockets,connect,.net,Sockets,Connect,我有一个应用程序可以连接到可能已关闭的主机。如果主机停机,我不想等待30秒左右的超时时间。我现在正在使用阻塞插座 我一直在研究socket.poll()和socket.select(),但我更希望在socket上设置一个时间。我不介意这是否是我必须在系统中的某个地方进行的设置。此外,我似乎明白,轮询和选择不适用于面向连接的通信-这是正确的吗 如果这是绝对不可能的,那么使用poll、select或其他技术获得所需结果的好方法是什么?请参见和 更新:有一个更好的例子 IAsyncResult asr
IAsyncResult asr = socket.BeginConnect( ip, port, null, null );
bool res = asr.AsyncWaitHandle.WaitOne( 10000, true ); // 10 sec timeout