TCP IP 파이썬 활용

socket 모듈을 이용해 UDP 서버/클라이언트 구현

웹하는빡통 2020. 6. 10. 15:00

socket 모듈을 이용해 UDP 방식에 기반한  간단한 서버와 클라이언트를 구현해 보겠다.

채팅 프로그램 뭐 그런거 아니다. 오해 없길

 

일단 UDP 방식에는 3-way Handshaking이 없다. 때문에 송신할 데이터가 발생하면 즉시 전송한다. 

TCP 방식 처럼 3-way Handshaking과 같은 일련의 상호 제어 과정이 없기 때문에 시간에 민감한

DNS 서비스, DHCP 서비스 등에 사용된다. 

 

먼저 UDP 소켓 서버는 아래와 같은 순서에 따라 구현된다. 

 

1. socket() 함수를 이용해 소켓 객체 생성

2. IP 주소 설정

3. 포트 번호 설정 

4. bind() 함수를 이용해 IP 주소와 포트 번호의 연동

5. 소켓 서버의 동작 과정 구현

 

위 순서와 같이 UDP 소켓 서버의 구현은 socket()함수를 이용해 UDP 소켓 객체를 생성한 뒤 bind() 함수를 이용해 IP 주소와 포트 번호를 연동시키고 UDP 소켓 서버의 동작 내용을 구현한다. 이때, IP 주소와 포트 번호의 연동이란 해당 IP 주소에 임의의 서비스를 구동시키겠다는 의미라고 할 수 있겠다. 작성이 끝났으면 close() 함수를 이용해 생성한 UDP 소켓 객체를 종료한다. 

 

UDP 소켓 서버. 

 

 

UDP 소켓 클라이언트

클라이언트에서는 bind()함수를 이용한 IP주소와 포트 번호의 연동 과정이 없다.