C++ Getaddrinfo不同的行为

C++ Getaddrinfo不同的行为,c++,linux,sockets,C++,Linux,Sockets,我有一个使用套接字的程序。在客户端,我通过getaddrinfo获得必要的信息,然后将结果传递给connect函数。问题是,它在不同的环境下工作。在某些环境中,在获取addrinfo结构并将其传递给connect函数后,出现无效参数错误。我错过什么了吗?求你了,帮帮我。 我是这样使用它的: getaddrinfo(host, NULL, NULL, &Result); 通过设置套接字类型和套接字族传递提示参数并没有给我带来任何结果 提前谢谢。只是一个猜测,因为您没有要检查的代码: 请确

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

getaddrinfo(host, NULL, NULL, &Result);
通过设置套接字类型和套接字族传递提示参数并没有给我带来任何结果


提前谢谢。

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

确实没有足够的细节来有效地猜测出哪里出了问题;但最明智的做法是记录失败案例中的
结果
内容,并将其与成功案例进行比较。您是否返回了多个地址?其中一个可能是IPv6,它可能不适用于您的连接呼叫