Golang: конвертировать адреса IPv4 и IPv6 из текста в двоичную форму - PullRequest
0 голосов
/ 16 апреля 2019

ищет отправку адреса ipv4 через 4 байта и адреса ipv6 через 16 байтов - Что похоже на inet_pton() в ходу?

struct sockaddr_in sa;
char str[INET_ADDRSTRLEN];
inet_pton(AF_INET, "192.0.2.33", &(sa.sin_addr));

struct sockaddr_in6 sa;
char str[INET6_ADDRSTRLEN];
inet_pton(AF_INET6, "2001:db8:8714:3a90::12", &(sa.sin6_addr));

Я знаю https://play.golang.org/p/jn8t7zJzT5v - это выглядит сложно для адресов IPV6.

Спасибо!

1 Ответ

7 голосов
/ 16 апреля 2019

net.ParseIP() примет строку в формате IPv4 или IPv6 и вернет net.IP, содержащий IP-адрес.

net.IP - это то, что вам нужно для передачи большинству других функций Go, например, для подключения к хосту.

Обратите внимание, что в отличие от большинства функций Go, которые возвращают ошибку, net.ParseIP() просто возвращает nil, если строка не может быть проанализирована в IP-адресе.

https://play.golang.org/p/Cgsrgth7JKY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...