반응형

TCP 에코 서버 C++ 소스 코드 2

4. 스레드를 이용한 멀티플레싱 [TCP/IP 소켓 통신 프로그래밍 with 윈도우즈]

4. 스레드를 이용한 멀티플렉싱 3장에서 만든 TCP 에코 서버는 동시에 하나의 클라이언트에게만 서비스를 제공할 수 있습니다. 하나의 서버가 동시에 여러 클라이언트에게 서비스를 제공하는 것을 멀티플렉싱(Multiplexing)이라 부릅니다. 이번 장에서는 스레드를 이용하여 멀티플렉싱을 구현하는 방법을 알아보기로 합시다. 4.1 스레드 스레드란 하나의 프로세스 내에서 독립적인 수행할 수 있는 작업 단위입니다. 예를 들어 파일 공유 P2P 프로그램을 사용할 때 동시에 여러 개의 파일을 다운로드를 받는 것은 스레드를 사용한 대표적인 예입니다. #include using namespace std; #include #include void ThreadEntryPointA(void *param) { for(int ..

3. TCP 에코 서버/클라이언트 만들기 [TCP/IP 소켓 통신 프로그래밍 with 윈도우즈]

3. TCP 에코 서버/클라이언트 만들기 이번 장에서는 TCP 프로토콜을 이용하여 간단한 에코 서버와 에코 클라이언트를 만들어 봅시다. 이를 통해 여러분은 윈속 라이브러리에서 제공하는 기본 함수들의 사용법을 살펴볼 수 있습니다. 에코 서버란 클라이언트에서 수신한 데이터를 클라이언트에게 재전송하는 서버를 말합니다. 3.1TCP 통신 절차 TCP 프로토콜을 이용한 통신은 서버와 클라이언트 사이에 연결을 형성한 후에 스트림 방식으로 패킷을 송수신합니다. 스트림 방식의 통신에서는 전송한 패킷의 순서대로 도착하며 패킷 전송 중에 전송이 실패하면 다시 전송하여 신뢰성을 보장하는 방식입니다. TCP 통신에서 서버는 대기 소켓을 생성하고 로컬 소켓 주소로 네트워크 인터페이스와 결합한 후에 백 로그 큐를 설정합니다. 이..

반응형