python 接受udp数据
时间: 2024-02-05 20:36:58 浏览: 35
在 Python 中,可以使用 socket 模块来接收 UDP 数据。下面是一个简单的示例代码:
```python
import socket
HOST = 'localhost' # 主机名
PORT = 5000 # 端口号
# 创建一个 UDP socket
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock:
# 绑定主机名和端口号
sock.bind((HOST, PORT))
# 接收数据
while True:
data, addr = sock.recvfrom(1024) # 一次最多接收 1024 字节的数据
print(f'Received {len(data)} bytes from {addr}:')
print(data.decode())
```
在上面的代码中,首先创建了一个 UDP socket,并将其绑定到指定的主机名和端口号上。然后使用 `recvfrom()` 方法接收数据,返回值是一个元组,包含接收到的数据和发送方的地址信息。最后将接收到的数据打印出来。
注意,由于 UDP 是无连接的协议,因此不需要先建立连接再发送数据,而是直接通过 socket 发送数据。例如,可以使用 `sendto()` 方法发送数据:
```python
message = 'Hello, world!'
sock.sendto(message.encode(), ('localhost', 5000))
```
这里将字符串转换为字节串并发送到指定的地址和端口号上。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)