블로킹 소켓을 논블로킹으로 바꾼다고 다 좋은 것이 아니라는 것을 실습을 통해 알아보았다. 제대로 완료가 되지 않은 함수를 논블로킹 방식에서 그냥 리턴을 해주어서 예외처리를 해주어야 하고 그로 인해 무한루프를 돌며 CPU를 더 잡아먹는 불편함이 있었다. 그렇다면 논블로킹 모델을 사용하되 준비된 상태를 미리 파악하게 하면 어떨까하는 생각을 할 수 있는데 이가 바로 Select 모델의 컨셉이다. Server.cpp#include "pch.h"#include "CorePch.h"#include #include "ThreadManager.h"#include #include #include #pragma comment(lib, "ws2_32.lib")void HandleError(const char* cause){..