есть 2 хоста с адресами:
fe80::20c:29ff:fe1e:eb7e%4 и
fe80::205:29ff:fe1e:eb7e%5
На fe80::20c:29ff:fe1e:eb7e%4 поднят echo сервер (просто скриптик питоновский), есессно он ipv6 socket(AF_INET6 … ) порт 7777
Пытаюсь делать простым виндовым методом:
telnet fe80::20c:29ff:fe1e:eb7e%4 7777
работает, принимается, отдается..
Пишу клиента на питоне
from socket import *
s = socket(AF_INET6, SOCK_STREAM)
s.connect(('fe80::20c:29ff:fe1e:eb7e%4', 7777))
socket.error: A socket operation was attempted to an unreachable host
подозреваю, что неправильно введен адрес, потому как если с той же машины локально натравить на этот сервер клиента по адресу ‘::1’ то все воркет.
Как вводить правильные ipv6 адреса в этом случае?
Вообще сведений в сети не нашел по этому поводу :(
Кстати вызов getaddrinfo из socket дает адрес именно в такой вот форме, что передаю в connect.
Что делать и кто виноват? (с) :)
—————
Все нашел
s.connect(('fe80::20c:29ff:fe1e:eb7e', 7777, 0, 4))
Вот так надо :)