서버 소켓이 죽는 경우??
글쓴이: bigbaby / 작성시간: 목, 2011/01/06 - 1:03오후
안녕하세요 날씨가 많이 춥네요 ㅎ 감기 조심하세요...
서버 프로그램을 짜고 있는데요...
select 시에 Bad file descriptor 에러가 발생하고 있습니다.
select 함수에는 서버 소켓을 fd_Set에 세팅한 fd_Set 을 전달하며,
클라이언트의 접속 요청을 처리하기 위해 사용됩니다.
즉, select 함수가 리턴되면, accept()함수를 호출하기 위해 사용됩니다.
근데, 갑자기 select 시에 bad file descriptor에러가 발생하고 서버에 행이 걸리고 있습니다.
어떤 경우에 서버 소켓에서 bad file descriptor이 발생할 수 있을까요???
Forums:
fd_set 에 fd를 루프 안에서 새로 셋
fd_set 에 fd를 루프 안에서 새로 셋 해주셔야..합니다.
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
감사합니다.
매번 read_mask를 초기화 후에, 소켓 FD가 0보다 큰 경우에 read_mask에 set을 해주고 있습니다.
참고로, 서버 소켓에 접속/해제가 매우 빈번합니다. 최대 초당 300회정도됩니다.
혹시 중간에 어떻게 하다가 서버 소켓을 닫은건
혹시 중간에 어떻게 하다가 서버 소켓을 닫은건 아닌가요?
저 오류는 말 그대로 fd 잘 쓰다가 닫았거나 해서 유효한 fd가 아니라는 말입니다.
혹은 잘못해서 서버 소켓 fd 값이 바뀐건 아닌지요?
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기