Java - SocketChannel连接超时

时间:2015-01-18 17:29:14

标签: java

当套接字找到无主机路由时,我遇到了问题。它等了很长时间。我想更改连接超时。选择器的select(timeout)方法在这里没用。所以我想使用channel.connect(address,timeout)作为套接字接受,但在API中没有这样的方法。所以我从套接字调用方法:channel.socket().connect(address, timeout)但我得到以下异常: java.nio.channels.IllegalBlockingModeException

如何在频道中建立连接超时?

1 个答案:

答案 0 :(得分:0)

您可以尝试:

while (! channel.finishConnect()) {
   <... timer like Thread.sleep() ..>
}