2011-12-14 3 views
0

TCP IP 소켓으로 작업하고 있습니다.깨진 소켓 감지하기

THIS은 클라이언트 소켓 연결이 끊어진 것을 감지하는 가장 간단한 방법입니까?

죽은 클라이언트를 감지하고 예외를 throw하는 Java API가없는 경우 놀랄 것입니다. 적어도 서버가 ACK 응답이 없으므로 패킷을 클라이언트에 보내려고 할 때 가능해야합니다.

답변

2

TCP 프로토콜은 끊어진 연결을 감지하는 빠른 방법을 지원하지 않습니다.

이 질문에 (그리고 그것의 모든 답변) 전체에 문제를 설명은 : Does a TCP socket connection have a "keep alive"?

그래서 기본적으로 네, 가장 간단한 방법입니다. 끊어진 연결을 제대로 확인하려면 응용 프로그램 프로토콜에 핑퐁 패킷 (일명 HearBeat 패킷)을 구현해야합니다.