[질문]select문을 Client에서...?
글쓴이: zipsinworm / 작성시간: 목, 2007/07/05 - 5:14오후
Linux 프로그램을 분석하다 의문점이 생겨 글 올립니다.
통상적으로 select문은 Server에서 사용하는걸로 알고 있습니다. 여러 책을 찾아보니 Server에 관련된 함수로써 소개를 하더군요.
그러나 항상 Server에서 사용해야 하는건지 의문이 생겼습니다.
Client에서 Server의 여러개의 Socket을 생성한뒤(Thread이용) fd_set에 등록을 하고 select문으로 감시를 하면
Server에서 오는 각각의 메세지를 Client가 알 수 있지 않을까요?
혹시 Socket생성시 I/O 버퍼가 생기고 Server측 메세지가 이미 Client 버퍼에 온 상태에서 select문을 호출 한다면 어떠한 현상이 발생할까요?
제생각은 Select를 호출하기전에 이미 메세지를 받았기 때문에 select로 소켓디스크립트를 검사를 해도 감지를 못할것 같은데...
실제로 소스로 코팅을 해보니 안돼더라고요.
이렇기 때문에 Client에서 select문을 사용하지 않는 이유인지 잘 모르겠습니다.
고수님들 Client에서 select문을 사용하려면 어떠한 방법으로 사용해야 하는지 혹시나 사용할 수 없다면 왜 그런건지 가르침을 받고 싶습니다.
<<덧말>> : Client에서 Select문을 사용해 Socket을 보아도 Server측 메세지 오는것이 확인이 안돼네요(Server는 계속 메세지를 보내는데...)
Forums:
댓글 달기