Почему не удалось установить соединение для ipv6 на python?
Почему не удалось подключиться к ipv6??
# python
>>> import socket
>>> s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
>>> sa = ('2000::1',2000,0,0)
>>> s.connect(sa)
>>> sa = ('fe80::21b:78ff:fe30:7c6', 2000, 0, 0)
>>> s.connect(sa)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 1, in connect
socket.error: (22, 'Invalid argument')
1 ответ
Решение
Локальные адреса ссылок (например, fe80:: что угодно) обычно требуют указания идентификатора области для работы. Пытаться
sa = ('fe80::21b:78ff:fe30:7c6%en0', 2000, 0, 0)
вместо. (Если компьютер, к которому вы пытаетесь подключиться (), доступен через сетевой интерфейс, отличный от en0, укажите имя интерфейса, где сейчас en0)