Android上的Java NIO:在连接仍挂起时尝试读/写?
这个问题涉及Android上Java的NIO(2.2,不过如果需要,我可以构建更高的API):在对目标IP地址执行SocketChannel connect()之后,我注册通道进行读取操作。问题是,当我尝试对生成的选定密钥集执行读取时,我收到NotYetConnectedException。虽然我可以在尝试读取之前使用isConnectionPending检查通道的状态,但理想情况下,我希望只有在连接实际工作时才选择读取键。有什么想法吗?你做错了 连接挂起时,只能为Android上的Java NIO:在连接仍挂起时尝试读/写?,android,networking,nio,Android,Networking,Nio,这个问题涉及Android上Java的NIO(2.2,不过如果需要,我可以构建更高的API):在对目标IP地址执行SocketChannel connect()之后,我注册通道进行读取操作。问题是,当我尝试对生成的选定密钥集执行读取时,我收到NotYetConnectedException。虽然我可以在尝试读取之前使用isConnectionPending检查通道的状态,但理想情况下,我希望只有在连接实际工作时才选择读取键。有什么想法吗?你做错了 连接挂起时,只能为OP\u CONNECT注册通
OP\u CONNECT
注册通道
当触发OP\u CONNECT
时,必须调用finishConnect()
,然后按以下步骤进行操作:
OP\u CONNECT
,然后可以注册OP\u READ
或OP\u WRITE
如何取消注册
OP\u CONNECT
?我认为key.interestTops(0)
应该可以工作。您可以直接切换到OP_READ或OP_WRITEkey.interesttop(选择key.OP_READ)