목차
- TCP 서버 구성하기 예제 이전 포스팅
- 파이썬에서 UDP 소켓 서버를 구성하기 위한 플래그 설명
- UDP 소켓 생성 및 바인드 예제
- UDP 소켓 클라이언트 메세지 수신 예제
- UDP 서버 소켓 클라이언트에 메세지 전송 예제
1. TCP 서버 구성하기 예제 이전 포스팅
이전 포스팅에서 TCP 소켓을 생성하여 서버를 구성하는 방법에 대해 알아보았습니다. 오늘 예제는 UDP 프로토콜을 사용하여 통신을 하는 소켓을 구성해보는 예제입니다. 따라서 TCP 예제를 우선 선행해보고 오늘 예제를 진행하면 더욱더 도움이 될 것입니다.
아래는 이전 포스팅 링크입니다.
2023.08.12 - [Python/os] - [Python] socket TCP 서버 구성하기 예제(TCP, SO_REUSEADDR)
2. 파이썬에서 UDP 소켓 서버를 구성하기 위한 플래그 설명
UDP 소켓을 구성하기 위해서는 아래와 같이 socket.SOCK_DGRAM 플래그를 소켓 생성시 전달해야합니다.
socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
과 같이 소켓을 생성합니다.
socket.AF_INET
: IPv4 주소 체계
socket.SOCK_DGRAM
: UDP 소켓 타입
UDP 소켓을 특정 주소와 포트에 바인드합니다.
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
3. UDP 소켓 생성 및 바인드 예제
UDP 소켓을 생성하고 특정 포트에 바인드하여 서버를 구성하는 예제입니다.
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
4. UDP 소켓 클라이언트 메세지 수신 예제
UDP 서버에서 클라이언트로부터 메세지를 수신하는 예제입니다. accept 함수가 없으며 곧바로 메세지를 수신합니다. 또한 메세지 수신 성공시 어떤 클라이언트에게 메시지가 왔는지 정보가 반환됩니다.
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
data, client_address = server_socket.recvfrom(1024)
received_message = data.decode()
print("Received:", received_message)
5. UDP 서버 소켓 클라이언트에 메세지 전송 예제
UDP 서버에서 클라이언트로 메세지를 전송하는 예제입니다.
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
data, client_address = server_socket.recvfrom(1024)
received_message = data.decode()
print("Received:", received_message)
message = "Hello, client!"
server_socket.sendto(message.encode(), client_address)
반응형