对等java.net.SocketException重置连接:未连接传输终结点

对等java.net.SocketException重置连接:未连接传输终结点,java,Java,我使用的是NIO线程,其中ServerSocketChannel将被打开,客户端端口将被绑定。但是当我们试图从Socket chanel读取数据时,出现了下面提到的异常。如果有人提供解决方案,这将非常有用 Connection reset by peer java.net.SocketException: Transport endpoint is not connected at sun.nio.ch.SocketChannelImpl.shutdown(Native Method)

我使用的是NIO线程,其中ServerSocketChannel将被打开,客户端端口将被绑定。但是当我们试图从Socket chanel读取数据时,出现了下面提到的异常。如果有人提供解决方案,这将非常有用

Connection reset by peer java.net.SocketException: Transport endpoint is not connected
    at sun.nio.ch.SocketChannelImpl.shutdown(Native Method)
    at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:669)
    at sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:386)
    at iyp.trncomms.ConnRecordWriter.checkShutDown(ConnRecordWriter.java:131)
    at iyp.trncomms.ConnRecordWriter.continueWriting(ConnRecordWriter.java:214)
    at iyp.trncomms.ConnRecordWriter.retry(ConnRecordWriter.java:101)
    at iyp.trncomms.ConnRecordWriter.shutDown(ConnRecordWriter.java:92)
    at iyp.trncomms.ConnRecord$WorkingState.toOnHoldState(ConnRecord.java:1224)
    at iyp.trncomms.ConnRecord$WorkingState.onInputError(ConnRecord.java:1152)
    at iyp.trncomms.ConnRecord.read(ConnRecord.java:124)
    at iyp.trncomms.NIO.run(NIO.java:137)

对等方的连接重置非常明确。您打开了连接,但远程端在代码执行之前将其关闭。您需要调查远程系统上的日志,以了解连接过早关闭的原因。

在错误情况下,您似乎正在调用
shutdownOutput()
。这是行不通的:您已经有一个错误,这将导致另一个错误。只需关闭频道。

@user1435862 NB它可能发生在当前shutdownOutput()方法调用之前的几秒钟。