我的问题是如何从选择器中删除在给定时间内没有响应的主机。
假设我在OP_CONNECT的选择器中注册了1个通道。频道处于非阻塞模式。我添加的主机我知道它没有响应,所以我的程序无法连接,并且选择器的select()方法将始终返回0.现在,我如何使用select(超时)并删除不响应的主机?
主机ping的输出:
25 packets transmitted, 0 received, 100% packet loss, time 24000ms
答案 0 :(得分:1)
关闭相关频道。这将自动取消所有SelectionKeys
并将其从相关Selector(s)
的权限中删除。
但是我个人无法为客户看到NIO或非阻止模式。