Getaddrinfo的行为不同

时间:2014-02-25 17:39:26

标签: c++ linux sockets

我有一个程序,可以使用套接字。在客户端,我通过getaddrinfo获取必要的信息,然后将结果传递给connect函数。事实是,它在不同的环境中有效地工作。在获取addrinfo结构并将其传递给connect函数后的某些环境中,我得到无效的参数错误。我错过了什么吗?拜托,帮助我。 我这样使用它:

getaddrinfo(host, NULL, NULL, &Result);

使用set socket type和socket family传递提示参数并没有给我带来任何结果。

先谢谢。

1 个答案:

答案 0 :(得分:1)

只是一个猜测,因为没有你要检查的代码: 请确保套接字的域(AF_INET或AF_INET6)与addrinfo结构中的ai_family域匹配。更好的是,在getaddrinfo调用之后创建套接字并使用ai_family作为套接字域。