Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Datagram ใน Python (UDP Socket Programming)

ข้อมูลเคลื่อนที่ระหว่าง Client และ Server ผ่านโปรโตคอล UDP (User Datagram Protocol) ทั้งสองปลายทางต้องมี IP Address และ Port Number ผู้ส่ง (Sender) ไม่ติดตามแพ็กเก็ตที่ส่ง ไม่มีการรับประกันการส่งมอบ ขึ้นอยู่กับผู้รับ (Receiver)

โปรแกรมฝั่งส่ง (Sender Program)

ใช้โมดูล socket สร้าง UDP socket กำหนด IP และ Port แล้วส่งข้อความด้วย sendto()

โค้ดตัวอย่าง

import socket
UDP_IP = "localhost"
UDP_PORT = 5050
MESSAGE = "Hello UDP!"
print("Sent Message:", MESSAGE)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(bytes(MESSAGE, "utf-8"), (UDP_IP, UDP_PORT))

ผลลัพธ์

Sent Message: Hello UDP!

โปรแกรมฝั่งรับ (Receiver Program)

สร้าง socket แล้ว bind() IP และ Port รอรับข้อมูลขนาดสูงสุด 1024 ไบต์

โค้ดตัวอย่าง

import socket
UDP_IP = "localhost"
UDP_PORT = 5050
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((UDP_IP, UDP_PORT))
while True:
    data, addr = s.recvfrom(1024)
    print("Received message:", data)

ผลลัพธ์

Received message: b'Hello UDP!'