목록2025/01/04 (2)
나만의 작은 도서관
목차Select 모델의 문제점WSAEventSelect 모델의 특징WSAEventSelect 모델 이용한 echo 서버 만들기WSAEventSelect 모델의 문제점깃헙 코드Select 모델의 문제점Select 모델은 기존의 블로킹/논블로킹 방식에서 소켓 작업이 진행될 수 없는 상황에서도 진행하려는 문제를 해결하기 위해 사용하였다. 하지만 1) 매 루프마다 fd_set에 소켓을 등록하고 select() 함수가 지우는 과정을 반복한다는 점, 2) select() 함수는 동기 방식을 따른다는 점과 같은 문제점이 있었다. Select모델의 장점을 가져가면서 위와 같은 문제점을 개선한 모델이 바로 WSAEventSelect 모델이다.WSAEventSelect 모델의 특징WSAEventSelect() 함수가 핵..
목차이전 블로킹/논블로킹 방식의 문제점Select 모델의 특징Select 모델 동작 과정Select 모델을 이용한 echo 서버 만들기Select 모델의 문제점깃헙 코드이전 블로킹/논블로킹 방식의 문제점이전 블로킹/논블로킹 방식에는 서로 다른 이유로 서버의 성능을 저하시키는 구조적 문제가 있었다. (블로킹 방식에 대한 정리 글은 여기, 논블로킹 방식에 대한 정리 글은 여기를 참고하면 된다.) 각 방식의 구조적 문제는 다음과 같다.블로킹 방식: 소켓 함수(recv(), send() 등)를 호출하면, 해당 작업이 완료될 때까지 호출한 스레드는 무한정 기다려야한다.논블로킹 방식: 소켓 함수(recv(), send() 등)를 호출하면, 해당 작업이 완료되었는지 반복적으로 확인해야한다.결국 블로킹 방식을 사용하..