2012-06-04 2 views
0

ServerSocketChannel이 열리고 클라이언트 포트가 bind 될 NIO 스레드를 사용 중입니다. 그러나 소켓 샤넬에서 데이터를 읽으려고 할 때 예외가 표시되었습니다. 누구든지 솔루션을 제공하면 큰 도움이됩니다.피어에 의한 연결 재설정 java.net.SocketException : 전송 끝 점이 연결되지 않음

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

Connection reset by peer입니다. 연결을 열었지만 코드가 실행되기 전에 원격 쪽에서 닫았습니다. 연결이 너무 일찍 닫힌 이유를 보려면 원격 시스템의 로그를 조사해야합니다.

+0

@ user1435862주의 현재 shutdownOutput() 메서드 호출 전에 수초가 걸렸을 가능성이 큽니다. – EJP

0

오류 케이스에 shutdownOutput() (으)로 전화를 거는 것 같습니다. 작동하지 않을 것입니다. 이미 오류가 발생했습니다. 다른 오류가 발생할 것입니다. 채널을 닫으십시오.

관련 문제