NETWORK · CH11

Python으로 구현하는 UDP 에코 서버

UDP 에코 서버는 연결을 맺지 않고 데이터그램을 받은 주소로 그대로 응답합니다.

핵심 분해

코드 흐름
소켓 생성SOCK_DGRAM으로 UDP 소켓을 만들고 포트에 바인딩합니다.
수신recvfrom은 데이터와 보낸 주소를 함께 돌려줍니다.
응답sendto는 저장된 주소로 같은 데이터를 다시 보냅니다.
상태 관리연결 객체가 없어서 요청 단위로 독립 처리합니다.

흐름으로 읽기

flow
socket/bind대기 지점
recvfrom데이터+주소
sendto주소로 응답
구조 요약

TCP처럼 연결을 수락하지 않으므로 코드가 짧지만, 순서와 재전송은 애플리케이션이 직접 챙겨야 합니다.

sock = socket(AF_INET, SOCK_DGRAM)
data, addr = sock.recvfrom(1024)
sock.sendto(data, addr)