如何获得套接字接收发往IPv6子网路由器任播地址的数据包?
我无法找到有关如何执行此操作的任何信息.
在一个解决方案中,我尝试使用socket.setsockopt,就像加入多播组一样:
# 7 is the interface number s = socket(AF_INET6, SOCK_DGRAM) packed_iface_num = struct.pack("I", 7) group = inet_pton(AF_INET6, 'fd36:d00d:d00d:47cb::') + packed_iface_num # socket.error: (22, 'Invalid argument') s.setsockopt(IPPROTO_IPV6, IPV6_JOIN_GROUP, group)
并且还使用bind
# socket.error: (99, 'Cannot assign requested address') s.bind(('fd36:773e:6b4c:47cb::', 9876))
正如所料,这些都没有奏效.有没有办法做到这一点?