这个问题已经有一个答案在这里:

我有一个应用程序连接主机的可能下降。如果主机下来我不想等待30秒它需要时间。我使用的是阻止插座的时刻。

我一直看着座。调查()和插座。选择()但是我宁愿只有一个时间设定在插座。我不介意,如果它是一种设置我必须做的某处在该系统。此外,我似乎明白,投票并选择不工作的面向连接通-这是正确的?

如果这是绝对不可能的,什么是一个很好的方式取得结果我想要使用投票,选择或一些其他的技巧?

有帮助吗?

解决方案

看看 BeginConnect异步编程的概述

IAsyncResult asr = socket.BeginConnect( ip, port, null, null );

bool res = asr.AsyncWaitHandle.WaitOne( 10000, true );  // 10 sec timeout

更新:还有一个更好的例子 在这里,.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top