[질문] Server가 접속을 종료할때...
글쓴이: zipsinworm / 작성시간: 화, 2007/07/10 - 10:26오전
안녕하세요. 저번에 이어 이번에도 소스의 핵심을 파기위해 열심히 공부하고 있습니다.
Windows같은 경우는 WSAAsyncSelect라는 함수를 사용해서 Server가 종료 했을때 이벤트를 발생합니다.
Linux에서도 저와같은 함수가 있는지 궁금합니다. getsockopt를 사용해서 알아보았는데(맞나?;;;) Windows와 getsockopt를
비교했을시 같은 결과가 나오지가 않더군요. Windows는 확실히 이벤트를 발생시키는데
Linux는 어떻게 알아내는지 궁금합니다. 즉, 상대가 접속을 종료했다는 사실을 알수 있는 Linux만의 고유한 방법이 있는지
가르침을 받고 싶습니다.
Forums:
저같은 경우는 read나
저같은 경우는 read나 recv에서 발생하는 errno를 확인하여 errno가 ECONNREFUSED 인 경우를 peer에서 접속을 종료한 것으로 처리하고 있습니다.. 고유한 방법인지 어떤지는 잘 모르겠네요.. ㅎㅎ;;
WS**** 로 시작하는
WS**** 로 시작하는 네트웍 함수들은 다 윈도우 전용이죠.
유닉스계열의 경우는 각 콜을 호출한 직후에 에러코드(errno)를 주의 깊게 살펴야 합니다.
각 콜별로 맨페이지 보시면 무엇이 리턴되는지 나와 있고요.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
댓글 달기