에코 서버 구현하기
에코 서버 레퍼런스를 분석하고 구현해보기로 했다.
서버에는 클라이언트의 요청들을 하나씩 처리할 수 있는 동기 방식과 동시에 처리할 수 있는 비동기 방식이 있다.(100% 맞는 말인지는 잘 모르겠다.) (⭐️ 동시에 처리하는 것은 멀티플렉싱이라고 할 수 있다.)
1. 에코 서버란?
에코 서버는 클라이언트가 보낸 메시지를 그대로 되돌려주는 서버이다. 클라이언트는 에코 서버에게 메시지를 보내면, 에코 서버는 그 메시지를 받아서 다시 클라이언트에게 보내준다. 이를 통해 클라이언트와 서버 간의 통신이 잘 이루어지는지를 확인할 수 있다. 에코 서버는 디버깅이나 테스트 목적으로 자주 사용된다.
2. 에코 서버 레퍼런스 분석
코드에 주석으로 각 코드가 어떤 역할을 하는지 분석했다.
2-1. 클라이언트의 요청을 하나씩 처리하는 서버
☝🏻 서버 코드
☝🏻클라이언트 코드
2-2. 멀티플렉싱 (클라이언트의 요청을 동시에 처리하는 서버)
멀티플렉싱을 할 수 있는 방식에는 여러가지가 있다. select, epoll, kqueue 등이 있다. select, epoll, kqueue 의 차이점