TCP 소켓 서버/클라이언트 연결해제 방법

sky1027의 이미지

서버 / 클라이언트 구현했는데요.

서버에 클라이언트가 접속중에 서버를 다운시켰을 때나,
서버에 클라이언트가 접속중에 클라이언트를 다운시켜버리면
알 수가 없더라구요...

연결이 되었는지 확인할 수 있는 방법이 있을까요?
c# 으로 구현했고 isconnect 라고 해서 ture/false 에 따라 연결여부를 판단하라고 하는데
갑자기 연결이 끊어졋을 때는 확인이 불가하더라구요..

방법이 있을까요?

Necromancer의 이미지

그래서 주기적으로 heartbeat라는 특정 패턴의 데이터를 교환합니다.

heartbeat에 대한 응답이 일정시간내로 안오면 문제 생긴거죠.

Written By the Black Knight of Destruction