问题标签 [getaddrinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3441 浏览

c++ - 来自 getaddrinfo 和 inet_ntop 的虚假 IP 地址

我一直在使用 getaddrinfo 来查找基本套接字命令的套接字地址。不过,最近它返回给我的地址是伪造的 IP 地址,我使用 inet_ntop 发现了这些地址。我已经尝试了我的代码以及Beej's Guide中提供的代码,它们都产生了相同的结果。这是代码:

无论我使用什么地址,它总是给我一个形式的 IP

16.2.x.y

其中 256*x + y 等于端口号。有没有人见过这种情况,或者有人能猜出它为什么给我这个吗?

0 投票
2 回答
29956 浏览

c++ - 使用 getaddrinfo() C 函数获取本地 IP 地址?

我正在尝试使用 getaddrinfo() 函数获取我的本地(而不是外部)IP 地址,但我看到了此处提供的示例,它们对于我的需要来说太复杂了。还看到其他帖子,他们中的大多数人真的想获得外部IP,而不是本地IP。

谁能提供一个简单示例(或简单示例)的链接,以了解如何使用此功能获取我自己的本地 IP 地址?

当我说本地时要清楚,如果路由器是192.168.0.1,我的本地 IP 地址可能类似于192.168.0.x(只是一个示例)。

0 投票
1 回答
2930 浏览

c - C getaddrinfo() 不解析名称

我有一个程序(用 C 编写),它使用getaddrinfo()它的第一个参数是我希望它获取地址信息的主机名,假设它是“域”。在/etc/hosts同一台机器上的文件中,我可以看到“域”应该解析为 192.168.1.200。当我运行程序时,它每次都挂在这个调用上并且无法获取地址信息。但是,如果我用实际的 IP 地址替换“域”,它就可以正常工作。

顺便说一句,这个问题在一周左右之前还不存在,它是一个突然抬起丑陋脑袋的新问题。我相当肯定上周这台机器一定做了什么,我试图与我们的其他工作人员核实这一点,但他们也不知道为什么会发生这种情况。

所以,我的问题是,有没有人知道这会突然发生什么?我可以检查什么来验证它的配置是否应该是这样的?提前致谢。

0 投票
4 回答
1606 浏览

c++ - WSAGetLastError() 返回 122

好吧..我不太确定这意味着什么,但是我的系统运行并运行并运行并没有因为内存不足而哭泣......

我想这与系统错误122有关,因为winsock错误代码(MSDN)中没有122...

有人有线索吗?...

它发生在调用getaddrinfo(NULL, /*PortNumber*/, &hints, &pFinal)

编辑好吧...这里有更多代码(没有注释掉,也没有意义)

问题在于我的 g_ACCEPTOR_PORT_NUMBER,这是一个包含

我必须更改转换运算符吗?...我更喜欢使用这个“STRINGINT”,所以我不需要将端口号保存为字符串和数字或显式转换...

0 投票
4 回答
26585 浏览

c - getaddrinfo 和 IPv6

我试图了解 getaddrinfo 函数返回什么:

结果 :

在 /etc/hosts 中,我有:

Getaddrinfo 仅返回 127.0.0.1 而不是 ::1 ?我不明白为什么?

第二个问题是我在哪里可以找到这些整数 (40,2,1,6 等) 的含义?我读过这个人,但没有什么。

我还想知道是否可以提供 IPv6 地址(例如 ::1)并且函数返回名称:localhost?

非常感谢 !!

0 投票
2 回答
8809 浏览

c - getaddrinfo 错误:不支持 ai_socktype

这会给出错误:“ai_socktype not supported”如果我注释掉hint.ai_protocol = AI_PASSIVE;它将通过,但我想知道为什么会这样?

谢谢你的时间

0 投票
2 回答
15541 浏览

c - IPv6 地址转域名

我正在寻找一个以 IPv6 地址作为参数并返回域名的函数。

为了清楚起见,2a00:1450:8006::68 返回 ipv6.google.com。

(目的是将此域名提供给 getaddrinfo 函数。)

谢谢 :-)

edit1:我试过getaddrinfo("2a00:1450:8006::68", "http", NULL, &result);了,它返回“不支持主机名的地址族”并getaddrinfo("ipv6.google.com", "http", NULL, &result);返回错误“没有地址与热名相关联”。

EDIT2:我同意你的观点,我的 IPV6 系统有问题,我试过http://test-ipv6.com/似乎我没有 IPV6 地址,但ifconfig它返回:

0 投票
3 回答
4287 浏览

c - C 中带有 getaddrinfo() 的 Unix 套接字

有谁知道是否可以在 C (AF_UNIX) 中将 getaddrinfo 与 unix 套接字一起使用。我已经尝试了几件事,但我无法让它工作。这基本上是我正在尝试的:

我的问题是如何填写节点和服务字段,以防可以将它与 unix 套接字一起使用。
提前致谢。

0 投票
1 回答
11105 浏览

c - getaddrinfo() 函数返回错误的 IP 地址

我正在尝试使用 getaddrinfo() 解析 URL 的 IP 地址,但它总是返回错误的 IP 地址,我尝试了多个 URL,结果是相同的。任何帮助将不胜感激。

程序返回IP地址:209.85.175.99 insted返回真实IP即74.125.39.147

0 投票
2 回答
3039 浏览

c - getaddrinfo() 中的分段错误

我在 getaddrinfo() 中遇到分段错误。

这是堆栈跟踪。

函数test_addrinfo()的来源;

在valgrind中运行后,我得到了以下日志

此函数 test_addrinfo() 由我的应用程序的顶层调用。我在另一个只有一个 main() 的应用程序中测试了相同的函数。它在那个应用程序中工作。

我怀疑我没有使用正确的 gnulib 库或错误的编译标志。有什么线索或提示吗?