python udp通信示例
时间: 2024-11-04 18:14:07 浏览: 29
在Python中,UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的数据传输协议,常用于需要快速发送和接收数据的应用场景,如游戏服务器、实时数据推送等。下面是一个简单的Python UDP通信示例:
```python
import socket
# 创建一个UDP套接字
sock = socket.socket(socket.AF_INET, # 使用IPv4地址族
socket.SOCK_DGRAM) # 使用UDP
# 绑定IP和端口
server_address = ('localhost', 12345)
sock.bind(server_address)
while True:
# 接收来自客户端的消息
data, client_address = sock.recvfrom(1024) # buffer size is 1024 bytes
print('Received message:', data.decode()) # 解码数据
# 可以为每个客户端回复消息
response = 'You said: ' + data.decode()
sock.sendto(response.encode(), client_address)
```
在这个例子中,服务器不断地监听来自`localhost`的12345端口的UDP数据包,并打印接收到的信息。当收到信息后,它会构建一条响应消息并返回给发送者。
如果你想要创建一个客户端来进行UDP通信,可以这样做:
```python
import socket
client = socket.socket(socket.AF_INET, # 使用IPv4地址族
socket.SOCK_DGRAM) # 使用UDP
message = 'Hello, server!' # 想要发送的消息
client.sendto(message.encode(), ('localhost', 12345)) # 发送给本地服务器
data, server_address = client.recvfrom(1024) # 接收服务器响应
print('Response from server:', data.decode())
```
阅读全文