네트워크 프로그래밍이란 결국 프로세스 간의 통신을 의미하며, 이를 가능하게 하는 핵심 도구가 바로 소켓(Socket)이다.파이썬 socket 모듈을 활용하면 리눅스 환경에서 서버와 클라이언트를 직접 구현하고 데이터를 주고받는 과정을 명확히 이해할 수 있다. 1. 소켓 통신의 기본 개념소켓은 네트워크상의 두 프로그램이 서로 데이터를 주고받을 수 있도록 연결해 주는 통신 종착점(Endpoint)을 의미한다.서버와 클라이언트는 각각 역할에 맞는 소켓을 생성하여 통신에 참여한다.🟢 서버와 클라이언트의 역할서버(Server): 클라이언트의 연결 요청을 기다리다가 요청이 오면 수락하여 통신용 소켓을 생성한다. 연결을 기다리는 소켓을 리스닝 소켓, 연결된 클라이언트와 통신하는 소켓을 커넥션 소켓이라고 한다.클라이언..