다중 Client연결에서 select방법
글쓴이: kass73 / 작성시간: 토, 2006/02/04 - 9:14오후
안녕하세요. 궁금한 점이 있어 질문드립니다.
여러개의 서버로 연결되는 프로그램을 만들고 싶은데요..
예를 들면 1이라는 서버로 연결하고 또 2라는 서버로 연결해서
해당 연결들을 select로 검사하려고 합니다.
일단 생각되는 방안은 연결 fd를 검사하기 위한 Thread를 생성해 놓고 1이라는 서버로 연결을 하고 연결이 완료되면 해당 fd를 FDSET하여 select만을 하는 Thread에서 검사할 수 있도록하고
2라는 서버로 연결하기 위해 2라는 서버로 connect후에 연결이 되면 또 fd를 FDSET하는 방법을 생각해 보았으나 별로 좋아 보이지 않아서 다른 방법이 있는지 조언을 구합니다. select의 timer를 되도록이면 blocking으로 하고 싶은데요... 방법이 없을까요?
Forums:
Re: 다중 Client연결에서 select방법
select(maxfd+1, &rset, &wset, &eset, (struct timeval *)0);
이렇게 하면 타이머는 forever입니다.
반면,
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 0;
select(maxfd+1, &rset, &wset, &eset, (struct timeval *)&tv);
이렇게 하면 타이머는 0입니다.즉, 대기시간없음(non-blocking)이지요.
댓글 달기