希望发送 4 个字节的 ipv4 地址和 16 个字节的 ipv6 地址 - 类似于 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 地址看起来很复杂。
谢谢!
最佳答案
net.ParseIP()
将采用 IPv4 或 IPv6 格式的字符串并返回 net.IP
包含 IP 地址。
net.IP
是您需要提供给大多数其他 Go 函数的内容,例如与主机建立连接。
请注意,与返回错误的大多数 Go 函数不同,如果字符串无法解析为 IP 地址,net.ParseIP()
只会返回 nil
。
关于戈朗 : convert IPv4 and IPv6 addresses from text to binary form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699616/