对于我的一些Java NIO连接,当我有一个SocketChannel.write(ByteBuffer)
调用时,它抛出一个IOException
:"Broken“。
是什么导致了“管道破裂”,更重要的是,有可能从这种状态中恢复吗?如果无法恢复,这似乎是一个好兆头,表明发生了不可逆转的问题,我应该简单地关闭此套接字连接。这是一个合理的假设吗?在套接字连接仍然正常连接的情况下(而不是某个时刻出现故障的正常连接),是否会出现这种IOException
?
顺便说一句,在尝试SocketChannel.write()
之前总是调用SocketChannel.isConnected()
是否明智?如果是,我是否还可以假定连接“断开”,并且如果SocketChannel.isConnected()
和SocketChannel.isConnectionPending()
都为false
,则应该关闭该连接
谢谢!
https://stackoverflow.com/questions/1181255
复制相似问题