while(1)

{

FD_ZERO(&read_fds);

FD_SET(sock, &read_fds);

select(maxsock, &read_fds, NULL, NULL, NULL);

if(FD_ISSET(sock, &read_fds))

{

read( .. );

}

}


이렇게 하는데 만약에 클라이언트에서 이 코드로 패킷보내면

FD_ISSET이 한번이 아니라 여러번 실행돼서 read함수를 계속 실행하려고 해서 무한블록되버림;

이렇게 하는거 아닌가..