안녕들 하신지요..
날씨가 넘좋아 나무그늘에서 자리깔고 한잠하고 싶네요.
각설하고~~
클라이언트 : 리눅스 (c언어)
서버 : 2000서버(델파이 7.0 인디소켓 사용)
이렇게 클라이언트와 서버를 연결시킨후...강제로 종료시키는것은 없습니다.
군뎅...한가지 궁금한점이 있는데요.
이렇게 연결된 상태에서...클라이언트의 전원을 뽑을 경우.
서버에서 종료 인식을 못하는듯합니다.
종료를 인식하게 하는 방법이 없을가요.
머..물론 서버에서 계속적인 더미데이터를 던진다든지...클라이언트에서 서버
로 더미를 던지면 가능하겠지만..이런 정보의 흐름이 없이 걍 접속만 해있을 경
우 클라이언트의 갑작스런 종료에 대한 서버소켓에서 알아차릴 방법이 없나요?
그리고 정보흐림이 없이 걍 접속만 해 있을경우 일정시간후 종료가 됩니다.
그런데 서버소켓에서는 알아차리질 못합니다..
이런 문제점은 어케 해결 해야 하나요~~
읽어보시고..답변좀 부탁드립니다..
그럼 감사합니다.
클라이언트가 살아 있는지 확인하는 기능이 TCP에 있습니만... 이게 윈도우소켓에서 지원을 하는지 안하는지는 잘 모르겠습니다...
현재 Indy에서는 클라이언트의 갑작스런 종료에 대해서 서버소켓에서 바로 알아차릴수 있는 특별한 방법은 없구요...
일정한 시간마다 혹은 마지막으로 데이터를 받고 일정시간이 지난 후에 더미데이터를 보내세요. 그럼 그 클라이언트가 죽었는지 살았는지 확인이 가능합니다.
두번째 TCP Timeout문제도 위와 같이 해결하시면 됩니다.
^^ 항상 즐코하세요...