根据https://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html#OP_READ
假设选择键的兴趣集在选择操作开始时包含OP_READ。如果选择器检测到相应的通道已准备好读取,已到达流末尾,已远程关闭以进一步读取,或者有未决的错误,则它会将OP_READ添加到密钥的准备状态 - 操作集并将密钥添加到其选定密钥集。
SocketChannel准备好阅读的条件是什么?
如何明确地为阅读做好准备?
感谢!!!
答案 0 :(得分:0)
SocketChannel准备好阅读的条件是什么?
数据存在于套接字接收缓冲区中,或者对等方已关闭或关闭其连接结束,或者错误正在等待。
如何明确地为阅读做好准备?
从对等方发送内容或关闭连接,然后将其关闭以进行输出。从这一端来说,除了将其关闭以进行输入之外,你不能这样做,这将在下一次阅读中传递结束,这可能是你不想要的。