📅  最后修改于: 2023-12-03 14:46:17.599000             🧑  作者: Mango
UDP(User Datagram Protocol)是一种无连接协议,不需要在发送数据前进行握手,因此传输速度快,但可靠性较差。在网络实时通信中,UDP扮演了至关重要的角色。Python通过提供socket库让开发人员可以方便地实现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服务器,监听来自客户端的消息,在接收到消息时打印消息内容和发送方的地址。
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通信功能。在实际应用中,建议根据实际需求对代码进行定制化开发,以满足具体业务场景的需求。