Wie erhält man einen Socket zum Empfangen von Paketen, die für die IPv6-Subnetz-Router-Anycast-Adresse bestimmt sind?Python: Einen IPv6-Socket zum Empfangen von Paketen erhalten, die für die Subnet-Router-Anycast-Adresse bestimmt sind
Ich habe keine Informationen finden, wie dies zu tun ist.
In einem Anfall von Verzweiflung, ich habe versucht, mit socket.setsockopt, wie Sie eine Multicast-Gruppe beitreten würde:
# 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)
Und auch binden mit
# socket.error: (99, 'Cannot assign requested address')
s.bind(('fd36:773e:6b4c:47cb::', 9876))
Wie erwartet, weder von diese funktionierten. Gibt es eine Möglichkeit, dies zu tun?