使用udp进行进程间全双工通信代码
时间: 2023-06-11 17:09:29 浏览: 69
UDP 是无连接的协议,因此在进行进程间通信时需要自己实现数据包的序列化和反序列化,同时需要处理丢包和重传等问题。下面是一个使用 UDP 实现进程间全双工通信的示例代码:
服务器端代码:
```python
import socket
# 创建 UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定地址和端口号
server_address = ('localhost', 10000)
sock.bind(server_address)
while True:
# 接收数据
data, client_address = sock.recvfrom(4096)
print('Received data from {}: {}'.format(client_address, data.decode()))
# 发送数据
message = input('Enter message to send: ')
sock.sendto(message.encode(), client_address)
```
客户端代码:
```python
import socket
# 创建 UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据
server_address = ('localhost', 10000)
message = input('Enter message to send: ')
sock.sendto(message.encode(), server_address)
# 接收数据
data, server_address = sock.recvfrom(4096)
print('Received data from {}: {}'.format(server_address, data.decode()))
```
在代码中,服务器端首先绑定了地址和端口号,并且通过 `sock.recvfrom()` 接收客户端发送的数据。然后服务器端通过 `input()` 获取用户输入的数据,并且通过 `sock.sendto()` 发送给客户端。客户端首先通过 `sock.sendto()` 发送数据给服务器端,然后通过 `sock.recvfrom()` 接收服务器端发送的数据。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)