fd_set을 초기화하려면 스택에 변수 하나를 선언하고 FD_ZERO 매크로를 써서 초기화한다.
fd_set myReadSet; FD_ZERO(&myReadSet);
집합에 소켓을 추가하려면 FD_SET 매크로를 사용한다.
FD_SET(mySocket, &myReadSet);
리턴 후 집합에 특정 소켓이 포함되었는지 확인하려면 FD_ISSET 매크로를 쓴다.
FD_ISSET(mySocket, &myReadSet);
select()는 소켓 하나에 적용되는 기능이 아니므로 앞서 구현한 소켓 래퍼 클래스의 함수로 추가하기엔 좀 어울리지 않는다. 그보다는 SocketUtils 클래스에 함수를 코드 3-10과 같이 추가하여 여러 TCPSocket 객체와 같이 사용할 수 있게 Select()를 구현했다.