提问人:Jim Fell 提问时间:11/16/2023 最后编辑:dbushJim Fell 更新时间:11/17/2023 访问量:25
如何创建套接字以发送和接收 UDP 数据包
How to create socket to send and receive UDP packets
问:
如何创建可以发送和接收 UDP 数据包的套接字?
我的应用程序要求将套接字绑定到物理网络接口,因为它是一个组播系统,具有多个接口连接到目标设备上的冗余重复网络。我的脚本必须能够与每个网络进行清晰的通信,而无需与其他网络进行交互。这就是为什么需要绑定到接口的原因。
这是我到目前为止所拥有的,但它一直在超时。我做错了什么?
import socket
s = socket.socket(socket.AF_PACKET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setblocking(True)
s.settimeout(3.0)
s.bind(('eth0', 0))
z_data, z_addr = s.recvfrom(1024) # expected target frame total length is 264 bytes
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
socket.timeout: timed out
答: 暂无答案
评论
AF_INET/6
AF_PACKET
AF_INET/6
SO_BINDTODEVICE