안녕하세요
요즘 네트워크 프로그래밍을 공부하고 있는 학생입니다.
다름이 아니라.. 클라이언트와 서버의 연결상태를 확인하여 재접속 하는것을 구현하려 합니다.
일단.. 연결상태를 주기적으로 확인하기 위해 Heart_Beat 쓰레드를 별도로 생성하였고
요놈은 10초마다 ICMP_ECHO 메세지를 보냅니다. 이때 하나의 클라이언트에서 2개의 서버에 접
속을 합니다. 그래서 2개의 서버에 ICMP_ECHO를 보내서 살아있는지를 주기적으로 검사를 합니
다. 이 때 recvfrom과 sendto를 사용해 메세지를 주고 받는데 무한 blocking 현상을 없애기
위해 비동기 소켓과 select() 함수를 사용했습니다. 랜선을 뽑아놓고 테스트를 하고 있는데
첫번째 서버는 정상적으로 select()에서 Timout을 리턴하는데 2번째 서버는 1을 리턴하네요.. 즉 타임아웃이 걸리지 않습니다..... 랜선을 뽑았는데도 말이죠...