Note 실제 구동 코드 참고
블로킹 소켓과 논블로킹 소켓의 실제 구동되는 예시를 준비해 놓았습니다. 다음 깃허브 주소에서 내려받을 수 있습니다.
https://github.com/imays76/GameServerBook
· chapter_3/tcp_many_client: 다수의 TCP 소켓이 블로킹 모드로 작동하여 서버에 접속하고 통신합니다. 소켓 개수만큼 스레드가 있고, 각 스레드가 각 소켓을 담당합니다.
· chapter_3/tcp_many_server_blocking: TCP 연결을 받은 후 블로킹 모드로 작동합니다. 들어오는 연결 개수만큼 스레드를 만들고, 각 스레드에서 블로킹 모드로 소켓을 처리합니다.
· chapter_3/tcp_many_server_nonblocking: 논블로킹 모드로 TCP 연결을 받은 후 TCP 연결 각각에 대해서 논블로킹 모드로 작동합니다. 별도의 스레드를 만들지 않고 메인 스레드에서 다수의 소켓을 모두 처리합니다.
책에 나오는 의사 코드와 실제 동작하는 코드를 비교한 후 직접 구동해 볼 것을 권장합니다.