Resetarea conexiunii de peer java.net.SocketException: Punctul final de transport nu este conectat

Eu folosesc fire NIO în care ServerSocketChannel va fi deschis și portul client va fi bind.Dar când am încercat să citim datele de la Socket Chanel, atunci mai jos menționăm excepția a fost afișată. Va fi plăcut dacă cineva furnizează soluția.

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)
0

2 răspunsuri

Se pare că apelați shutdownOutput() într-un caz de eroare. Aceasta nu va funcționa: deja ați avut o eroare, aceasta va cauza o altă problemă. Închideți canalul.

0
adăugat

Connection reset by peer is pretty explicit. You opened the connection, but the remote side closed it before your code executed. You need to investigate the logs on the remote system to see why the connection was closed prematurely.

0
adăugat
@ user1435862 NB s-a întâmplat probabil cu multe secunde înainte de apelul metodă de închidere curentă ().
adăugat autor EJP, sursa