2014-03-06 3 views
0

나는 클라이언트 측의 구현이 IOException의 원인이 될 수 있는지 여부를 알고 싶습니다. 내가 아는 한,이 예외는 원격 사이트에서 RST 패킷을 전송하여 효과적으로 연결을 종료하기 때문에 발생합니다. 지금까지 어떤 대답이 떠오르더라도 모두 이것이 서버의 잘못이라고 주장합니다.안드로이드 - 클라이언트가 "피어로 연결 재설정"예외가 발생했습니다.

하지만 문제는 다음과 같습니다. TCP 소켓을 통해 서버와 통신 중이며 안드로이드 앱이 클라이언트입니다. 통신은 완벽하게 작동하지만 클라이언트 측에만 약간의 수정을 가한 후에이 예외가 계속 발생합니다.

내가 만든 업데이트가 통신 구현과 아무 관련이 없기 때문에 문제의 원인을 찾아내는 데 어려움을 겪고 있습니다. 처리 할 서버에 대한 다른 쿼리 만 추가했습니다.

클라이언트 측에서이 예외를 생성 할 수 있습니까 (내 코드로 인해 원격 측에서이 결과를 산출 할 수 있습니까?). 서버 요청에 과부하가 걸렸습니까? 아니면 안드로이드가 스스로 소켓을 닫고 있을까요? 아니면 어떻게 든 소켓을 닫을 수도 있지만 아마 다른 유형의 예외를 생성합니다.

문제에 대한 조언은 대단히 감사하겠습니다.

+0

소스 코드를 보지 않고 작성한 질문에 대해서는 말하기가 어렵습니다. 내 자신의 경험으로 볼 때, 때때로 당신은 너무 깊게 보입니다. 그리고 당신 앞에서 분명한 오류를 볼 수 없습니다. 적어도 예외를 생성하는 코드를 보내십시오. –

답변

0

결과적으로 문제는 클라이언트 구현 후에 발생하지 않았습니다. 특정 쿼리가 실행 된 후에 서버가 실제로 연결을 종료했습니다. 비슷한 문제 (서버 측의 잘못이라고 생각되는 명백한 사실에도 불구하고 클라이언트쪽에 오류가 있다고 생각하는 곳)가있는 사용자에게는 가능한 시간 초과 등을 서버에서 다시 확인하는 것이 좋습니다.

관련 문제