|
소켓 통신을 이제 시작하시나 보네요..
살아있는 지 확인하는 것은 일종의 dummy packet을 보내서 확인합니다.
가령
STX + SourceID + DestineID + MessageType + Length + Payload + CRC + ETX
이런 형태로 ByteStream을 보내서 서버 쪽에서는 어디서 보냈는 지를 알고,
응답을 해주면서 해당 Client가 살아있구나를 알고,
Client에서는 보낸 Packet에 대한 응답이 오면 서버와 연결이 정상적이구나를 알게 됩니다.
그리고, 이런 Ping Packet을 몇 개 보내서 몇 개 이상 response가 못 받았다고 할 때
서버와 연결이 끊어졌다고 간주하여, Socket Close하고 Reconnect하는 메카니즘을
구성합니다.(저의 경우이고, 다른 분들도 대략 그렇게 하는 것으로 압니다.)
이재하 님이 쓰신 글 :
: 살아있는지 죽어있는지를 어떤식으로 확인하나요??
:
: 아제나 님이 쓰신 글 :
: : 주기적으로 서버와 통신(ping-pong)을 해서 서버와 통신이 잘 되는지 체크하는 방법 밖에 없습니다.
: :
: : 인터넷 환경은 여러가지 주변 요소에 영향을 많이 받기 때문에 주기적인 확인이 필수입니다.
: :
: : 클라이언트 -> 서버 : 너 살아 있냐?
: : 서버 -> 클라이언트 : 나 살아 있다.
: : 5초 간격으로 반복
: :
: :
: : 이재하 님이 쓰신 글 :
: : : TTCPClient 를 사용하여 Server 와 Connect 를 하고
: : :
: : : Connect 와 DisConnect 를 확인 하려면 어떻게 해야 하나요
: : :
: : : Connect 는 확인이 가능한데 Server 가 갑자기 끊겼을때 계속 Connect 만 나와요
|