python udp通信
时间: 2023-09-02 12:14:11 浏览: 116
UDP(User Datagram Protocol)是一种无连接的协议,它不保证数据包的可靠性,但是具有传输速度快的优点。下面是使用Python实现UDP通信的简单示例:
## 发送端代码
```python
import socket
server_address = ('localhost', 8888)
message = 'Hello, World!'
# 创建UDP socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# 发送数据
print(f'sending {message}')
sent = sock.sendto(message.encode(), server_address)
finally:
# 关闭socket对象
print('closing socket')
sock.close()
```
## 接收端代码
```python
import socket
server_address = ('localhost', 8888)
# 创建UDP socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定socket对象到地址和端口
sock.bind(server_address)
while True:
# 接收数据
data, address = sock.recvfrom(4096)
# 显示接收到的数据
print(f'received {len(data)} bytes from {address}: {data.decode()}')
```
在示例代码中,发送端使用`socket.sendto()`方法将数据发送到指定地址和端口。接收端使用`socket.bind()`方法绑定到指定地址和端口,并使用`socket.recvfrom()`方法接收数据。注意,`socket.recvfrom()`方法返回一个元组,第一个元素是接收到的数据,第二个元素是发送数据的地址和端口。
阅读全文