根据配置文件不同,所使用每个网口的ip不同,请写出一个双网口upd通信的demo
时间: 2023-07-15 08:12:20 浏览: 107
以下是一个双网口UDP通信的demo,其中假设网口1的IP地址为192.168.1.100,网口2的IP地址为192.168.2.100:
```python
import socket
# 创建网口1的UDP套接字
sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock1.bind(('192.168.1.100', 8888))
# 创建网口2的UDP套接字
sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock2.bind(('192.168.2.100', 8888))
while True:
# 从网口1接收数据
data, addr = sock1.recvfrom(1024)
print(f'Received from {addr}: {data.decode()}')
# 将接收到的数据发送到网口2
sock2.sendto(data, ('192.168.2.255', 8888))
# 从网口2接收数据
data, addr = sock2.recvfrom(1024)
print(f'Received from {addr}: {data.decode()}')
# 将接收到的数据发送到网口1
sock1.sendto(data, ('192.168.1.255', 8888))
```
在上述代码中,我们创建了两个UDP套接字,分别绑定到了不同的IP地址和端口上。然后进入一个无限循环,循环中先从网口1接收数据,然后将接收到的数据发送到网口2上,再从网口2上接收数据,最后将接收到的数据发送回网口1上。注意,在将数据发送回网口1时,我们将目标地址设置为广播地址,这样就能够确保所有连接到网口1的设备都能够收到数据。
阅读全文