동기 서버 2

Boost.asio 병렬 동기 TCP 서버

개요병렬 동기 서버는 다음과 같은 사항을 만족시키는 분산 어플리케이션이다.클라이언트 서버 통신 모델에서 서버로 동작한다.TCP 프로토콜을 사용해 클라이언트 프로그램과 통신한다.I/O 및 제어 연산을 하는 동안에는 연산이 끝나거나 오류가 발생할 때까지 실행 스레드를 멈춘다.클라이언트를 한 번에 하나 이상 처리할 수 있다.일반적인 병렬 동기 TCP 서버는 다음과 같은 알고리즘에 따라 동작한다.수용자 소켓을 할당하고 특정 TCP 포트에 묶는다.서버가 중단될 때까지 루프를 돈다.클라이언트로부터 연결 요청이 오기를 기다린다.연결 요청이 오면 받아들인다.스레드를 새로 생성하고 새 스레드에서 다음과 같은 작업을 한다.클라이언트로부터 요청 메시지가 오기를 기다린다.요청 메시지를 읽는다.요청을 처리한다.클라이언트에게 응..

소켓 통신/Boost 2024.11.20

Boost.asio 서버 개요

개요서버는 분산 어플리케이션의 반대쪽 부분인 클라이언트에게 받을 서비스를 제공하는 역할을 맡는다.그리고 클라이언트는 서버가 제공하는 서비스를 받기 위해 서버와 통신한다. 일반적으로 서버는 클라이언트-서버 통신 과정에서 수동적인 역할을 한다.서버는 호스트의 포트에 붙고, 그 포트로 클라이언트가 요청을 보내지 않는지 기다린다.요청이 도착하면 서버는 자신이 제공하는 서비스에 맞춰 동작한다. 서버가 제공하는 서비스에 따라 요청 처리 과정도 매우 다르다.예를 들어, HTTP 서버라면 대체로 요청 메시지에서 원한 파일 내용을 읽어 클라이언트로 보낸다.프록시 서버라면 클라이언트의 요청을 실제로 처리할 다른 서버로 전달한다.좀 더 구체적인 서버들이라면 클라이언트가 제공한 데이터에 대해 복잡한 계산을 거쳐 그 결과를 클..

소켓 통신/Boost 2024.11.18
728x90