목록2024/12/25 (2)
나만의 작은 도서관
개요서버는 마치 식당과도 같다. 식당에서 손님이 오면 손님을 받아 자리로 안내하는 것처럼 서버는 연결 요청을 한 소켓을 연결하고, 손님이 주문한 음식을 만들어 해당 자리에 서빙하는 것처럼, 요청한 작업을 처리하여 해당 소켓으로 처리된 데이터를 전송한다. 이 글에서는 식당으로 비유하며 클라이언트-서버 구조에서 각각 어떻게 통신을 연결하는지 간단히 정리해보고자 한다. 소켓(socket)이란? 소켓은 통신의 극점이며, 통신을 주고받으려면 반드시 필요한 개체이다(핸드폰으로 자주 비유되곤 한다. 식당 비유에 맞게 비유하자면 한 사람이라고 보면 된다). 각 소켓은 IP 주소 + 포트 번호 조합으로 구별하며, 통신을 통해 컴퓨터가 데이터를 수신하면 해당 포트를 사용하는 프로세스를 찾아 작업을 수행한다. 전화를 걸..
목차Winsock이란Winsock을 이용한 서버 열기클라이언트를 서버에 연결하기깃헙 코드Winsock이란?Winsock은 윈도우 환경에서 통신하기 위해 MS에서 제작한 소켓 라이브러리이다. Winsock을 사용하기 위해 다음과 같은 헤더 및 라이브러리를 추가하면 된다. 다음 목차부터 작성하는 클라이언트, 서버 코드엔 해당 및 라이브러리가 추가된 상태로 작성하였다.// Winsock 통신을 위한 헤더들#include #include #include #pragma comment(lib, "ws2_32.lib") +) 참고로, 여기저기 WSA로 시작하는 함수나 타입들이 잔뜩 나올텐데 WSA는 WinSock API의 약자이다.Winsock을 이용한 서버 열기winsock 초기화Winsock을 사용해 통신하기 위..