删除无响应的频道 - java

时间:2015-01-16 00:14:46

标签: java network-programming nonblocking

我的问题是如何从选择器中删除在给定时间内没有响应的主机。

假设我在OP_CONNECT的选择器中注册了1个通道。频道处于非阻塞模式。我添加的主机我知道它没有响应,所以我的程序无法连接,并且选择器的select()方法将始终返回0.现在,我如何使用select(超时)并删除不响应的主机?

主机ping的输出:

25 packets transmitted, 0 received, 100% packet loss, time 24000ms

1 个答案:

答案 0 :(得分:1)

关闭相关频道。这将自动取消所有SelectionKeys并将其从相关Selector(s)的权限中删除。

但是我个人无法为客户看到NIO或非阻止模式。