안녕하세요.
리눅스에서 두 프로세스 간 TCP로 연결하여 데이터를 주고 받는 걸 짜고 있습니다.
정보 문화사의 linux Programming (3판, Neil Mathew 저) 의 소켓 챕터를 참고하고 있구요.
서버 쪽은 select() 함수를 이용해,
- 클라이언트가 연결을 시도함.
- 클라이언트가 데이터를 전송함.
- 클라이언트가 연결을 종료함. (클라이언트 강제종료 포함.)
모두 잘 인지하는 것을 확인하였습니다.
문제는 클라이언트 쪽인데요.
클라이언트 단에서 서버가 종료 (강제종료) 됨을 어떤식으로 알 수 있나요?
주기적으로 서버랑 통신해서 상태를 확인하는 방법이 최선인가요?
(이 경우 체크하는 thread와 데이터 수신 thread를 둘텐데,
이게 효율적인 방법인지도 모르겠습니다.)
고수님들의 조언 부탁드립니다.
감사합니다.