📜  python 类 udp - Python (1)

📅  最后修改于: 2023-12-03 14:46:17.599000             🧑  作者: Mango

Python 类 UDP

简介

UDP(User Datagram Protocol)是一种无连接协议,不需要在发送数据前进行握手,因此传输速度快,但可靠性较差。在网络实时通信中,UDP扮演了至关重要的角色。Python通过提供socket库让开发人员可以方便地实现UDP通信功能。

创建UDP服务器
import socket

class UDPServer:
    def __init__(self, host, port):
        self.host = host
        self.port = port
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.sock.bind((self.host, self.port))
    
    def listen(self):
        while True:
            data, address = self.sock.recvfrom(1024)
            print(f'Received {data} from {address}')
    
if __name__ == '__main__':
    server = UDPServer('localhost', 5000)
    server.listen()

该程序使用socket库创建了一个UDP服务器,监听来自客户端的消息,在接收到消息时打印消息内容和发送方的地址。

创建UDP客户端
import socket

class UDPClient:
    def __init__(self, host, port):
        self.host = host
        self.port = port
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    
    def send(self, message):
        self.sock.sendto(message.encode(), (self.host, self.port))
    
if __name__ == '__main__':
    client = UDPClient('localhost', 5000)
    client.send('Hello, UDP Server!')

该程序使用socket库创建了一个UDP客户端,通过send方法向服务器发送消息。需要注意的是,在发送消息时必须先将消息转换成二进制格式,并指定接收方地址。

总结

通过socket库,Python开发人员可以很方便地实现UDP通信功能。在实际应用中,建议根据实际需求对代码进行定制化开发,以满足具体业务场景的需求。