Я хочу вызвать inet_pton в Cython для адресов IPv6. В принципе, я хочу сделать эквивалент следующего кода C:
char str[16];
inet_pton(AF_INET6, "12:212::122", &str);
Я попробовал следующее:
cdef char buff[16]
inet_pton(AF_INET6, address, &buff):
Но это дает ошибку: "Принимая адрес не-lvalue".
Каков правильный способ сделать это? Наконец, мне нужно преобразовать строку адреса IPv6 в python long.
Используйте buff
или &buff[0]
вместо &buff
.
getnameinfo
иgetaddrinfo
посколькуinet_pton
иinet_ntop
не поддерживают зоны IPv6.