写一个demo,如何双网口udp通信
时间: 2023-08-10 12:05:14 浏览: 47
以下是一个简单的双网口UDP通信的demo,使用Python的socket模块实现:
```python
import socket
# 设置本地IP地址和端口号
LOCAL_IP1 = '192.168.1.100'
LOCAL_IP2 = '192.168.2.100'
UDP_PORT = 5005
# 创建两个socket对象,分别绑定到不同的IP地址和端口号
sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock1.bind((LOCAL_IP1, UDP_PORT))
sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock2.bind((LOCAL_IP2, UDP_PORT))
while True:
# 循环接收数据
data1, addr1 = sock1.recvfrom(1024)
print(f'Received from {addr1}: {data1.decode()}')
data2, addr2 = sock2.recvfrom(1024)
print(f'Received from {addr2}: {data2.decode()}')
# 发送数据到对应的IP地址和端口号
sock1.sendto(data2, addr1)
sock2.sendto(data1, addr2)
```
在这个示例中,我们创建了两个socket对象,分别绑定到两个不同的IP地址和共同的端口号上。然后通过循环接收数据,将接收到的数据分别发送回对应的IP地址和端口号。这样,就可以实现双网口UDP通信了。