如何解决带有标志AI_NUMERICHOST的getaddrinfo
请告诉我一些我听不懂的内容。有一个功能getaddrinfo()
和一个标志AI_NUMERICHOST
。 MSDN说,在带有该标志的getaddrinfo()
中,您需要发送IP地址的数字值,而不是域名。但是为什么呢?
解决方法
getaddrinfo()
输出所请求的主机/服务的sockaddr_...
结构(sockaddr_in
或sockaddr_in6
)。不仅取决于IP地址,还取决于其他内容,例如套接字类型,服务端口等,具体取决于您的输入和hint
值。
因此,如果您已经具有字符串格式的IP地址,则可以让getaddrinfo()
为您解析该字符串(指定AI_NUMERICHOST
以避免DNS)为在输出sockaddr_...
中二进制格式,以及同时填写其他sockaddr_...
字段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。