【发布时间】:2013-02-13 17:58:10
【问题描述】:
我没有使用任何选择器或类似的东西。我只有一个简单的ServerSocketChannel 监听和一个SocketChannel 以阻塞模式连接到它。我想对连接施加超时,但SocketChannel.socket().setSoTimeout() 不起作用。
我尝试让后台线程休眠 30 秒并检查变量是否仍然是 null(因为它会阻止等待读取该变量)但我无法正确同步变量,因为我无法访问我的匿名类中的局部变量。
还有其他方法可以做到这一点吗?
更新:我的问题措辞有误。我还希望读取操作以及连接本身超时。
【问题讨论】:
-
不,那是用于非阻塞模式的 nio。我说的是阻塞模式。
标签: java sockets networking io nio