669

3 分钟

#Python 的 UDP 编程

用户数据报协议(User Datagram Protocol) 是一个 无连接、非可靠 的传输层协议,和 TCP 并列,是互联网中最常见的协议之一。

UDP 程序不存在连接,只需要绑定自身地址并收发数据即可。下面是一个示例,它创建了两个 socket,从一个向另一个发送数据。

import socket # 创建 UDP socket sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定自身地址 sock1.bind(('0.0.0.0', 4000)) sock2.bind(('0.0.0.0', 4001)) # sock1 向 localhost:4000 即 sock2 发送数据 sock1.sendto('hello\n'.encode(), ('localhost', 4001)) # sock2 接收数据 data, addr = sock2.recvfrom(1024) print(f'从 {addr} 收到 {data.decode()}')
  • AF_INET 表示使用 IPv4 地址,
  • SOCK_DGRAM 表示使用 UDP
  • 地址参数是一个元组,第一个元素可以是域名、主机名或 IP 地址,第二个元素是端口

创建于 2025/5/13

更新于 2025/5/21