우리의 프로젝트는 제대로 작동하는 데 사용되는 푸시에 대한 NIO에 해결할 긴 연결 프레임 워크 기반 구현합니다. 최근 몇 가지 문제가있다 "SocketChannel.read (ByteBuffer를)"던져 예외가 "java.net.SocketException의 :에 recvfrom 실패 : ECONNRESET (피어에 의해 연결 재설정)"를 다음과 같이 세부 사항은 다음과 같습니다 는 (의 ByteBuffer는) java.net.SocketException가 던져 :에 recvfrom 실패 : ECONNRESET (피어에 의해 연결 재설정)
나는 유사한 오류, BU를 많이 찾았다 한
private void read(ByteBuffer byteBuffer, int length) throws Exception {
int count = 0;
long readBeginMills = SystemClock.elapsedRealtime();
while (count < length) {
try {
int readCount = mSocketChannel.read(byteBuffer);
long nowMills = SystemClock.elapsedRealtime();
if (readCount > 0) {
count += readCount;
readBeginMills = nowMills;
}
//1.readCount为-1时是连接断开了,直接报错重连
//2.如果读取数据超过了20s也报错重连
if(nowMills - readBeginMills >= 20000 || readCount == -1){
throw new LostTcpByteException("byte lost exception,need to shutdown and reconnection");
}
} catch (Exception e) {
throw e;
}
}
}
다음과 같이 이미지 오류 메시지가
오류에 대한 코드가 포함되어 있습니다 문제를 해결하기 위해 좋은 아이디어를 찾지 못하면 어떻게해야합니까? 귀하의 anwsers 주셔서 감사!
예외는이 광고로부터 던져 –