socket getaddrinfo():error11001:No such host is known(找不到这么的主机)
socket getaddrinfo():error11001:No such host is known(找不到这样的主机)下面的是贴过来的简介int geta
socket getaddrinfo():error11001:No such host is known(找不到这样的主机)
下面的是贴过来的简介
int getaddrinfo( const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result );
参数说明
hostname:一个主机名或者地址串(IPv4的点分十进制串或者IPv6的16进制串)
service:服务名可以是十进制的端口号,也可以是已定义的服务名称,如ftp、http等
hints:可以是一个空指针,也可以是一个指向某个addrinfo结构体的指针,调用者在这个结构中填入关于期望返回的信息类型的暗示。举例来说:如果指定的服务既支持TCP也支持UDP,那么调用者可以把hints结构中的ai_socktype成员设置成SOCK_DGRAM使得返回的仅仅是适用于数据报套接口的信息。
result:本函数通过result指针参数返回一个指向addrinfo结构体链表的指针。
返回值:0——成功,非0——出错
问题出在了第一个参数hostname上,现象如下:
当hostname是ip时,一个节点的多个进程,多个节点的多个进程都没有问题。
当hostname是主机名,比如“windows_A”,“windows_B”,进程在同一个节点机器即ip相同的机器上时,如都在“windows_A”的节点上,getaddrinfo()可正确解析地址
当hostname是主机名,进程在不同节点时,如分别在主机名为“windows_A”,“windows_B”的节点时,getaddrinfo()则不能正确解析地址,返回11001错误代码,通过查getlasterror列表可知是:“找不到这样的主机!”
请问“找不到这样的主机!”这个问题的原因是什么?如何解决??
谢谢
socket 结构 getaddrinfo error11001
[解决办法]你能用域名ping通吗?ping hostname