问题标签 [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.
c++ - 如何处理 inet_ntop() 失败?
首先,我的代码示例:
url 变量包含要解析的地址(我正在研究简单的客户端/服务器 DNS 解析器)。如果可以解决,一切正常,但是当 url 无法解析时,我的输出只有
bla1 bla2 bla3
上面的代码在 fork child 所以它不会停止整个脚本,它只是返回到父进程,虽然没有错误(我正在测试返回值,在这种情况下它应该是 ERROR_PAR = 1 所以错误消息应该出现)。
我使用这些功能的方式有问题还是问题一定出在其他地方?
编辑:在任何其他函数之前检查 getaddrinfo 返回值很重要。所以问题就解决了。
c - Linux网络编程:getaddrinfo()得到错误结果
这是一个简单的程序,我编写它是为了找出一个域的所有A record
.
我遵守它并且没有收到任何错误或警告。
然后我运行它,我发现它给出了错误的IP,例如:
./a.out www.google.com
2.0.0.0
2.0.0.0
这是我的代码:
为什么?以及如何纠正它?
windows - 'getaddrinfo()' 函数,它只从 'etc\hosts' 文件返回 IP 地址 ...?
我有双栈 Windows m/c,带有 IPv4 和 IPv6 地址。etc\hosts
仅包含该主机名的 IPv4 地址。因此,每当我调用getaddrinfo()
函数时,它都会从etc\hosts
文件中返回 IP 地址(即仅 IPv4 而不是 IPv6 地址)。
ipconfig
命令显示 IPv4 和 IPv6 地址。
如何配置getaddrinfo()
函数始终从 DNS 而不是etc\hosts
文件返回 IP?还有其他方法吗?
windows - getaddrinfo() 为远程主机返回 127.0.0.1
我有一个应用程序,它使用 getaddrinfo() 将 Windows 工作组中 PC 的主机名转换为 LAN 上该 PC 的 IPV4 地址。(注意,我不是指获取运行代码的 PC 的地址,我是指 LAN 上另一台 PC 的地址!)这已经在现场和实验室中工作了很长一段时间,但是现在我有一台运行异常的 Windows 7(32 位)PC。这台 PC 的主机名是“elbow”。
我在http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520%28v=vs.85%29.aspx编译了 Microsoft 为 getaddrinfo() 提供的示例代码
当我在 LAN 上的任何 PC 上运行此示例代码并将“elbow”指定为主机名时,getaddrinfo() 返回环回地址 127.0.0.1 而不是正确的地址 (192.168.1.110)。但是,如果我指定任何其他主机名 getaddrinfo() 将返回正确的地址!
在过去的某个时间点,“肘部”没有表现出这种行为,因此很明显,那台 PC 的某些东西已经改变导致这种行为。我已尝试将 PC 磁盘映像恢复到我认为不会导致此行为的程度,但这并没有改变。PC 是有线连接还是无线连接到 LAN 也没有区别。为 LAN 上的所有 PC 启用 DHCP。即使所有 PC、路由器和交换机完全断电,这种行为也会持续存在。
c++ - getaddrinfo() 无法解析winsock
我在让 winsock 工作时遇到问题,我只是感到困惑,不知道下一步该尝试什么。
这getaddrinfo(NULL)
只是为了表明它认识到getaddrinfo
应该有什么论点,但它仍然说它无法解决它..
当我尝试在命令行中编译它并添加一些错误标志时,这就是我得到的:
这是编译器向我抛出的错误,我正在使用 mingw 进行编译:
这是代码:
ws2tcpip.h:
test.cpp(我的程序):
c++ - Safari 和 getaddrinfo 设置
我编写了一个小型动态库,它插入对 getaddrinfo 和连接的调用。我在 Firefox 和 Safari 上使用 DYLD_INSERT_LIBRARIES 插入这个库,以劫持对 www.apple.com 的请求并将它们发送到 www.microsoft.com。该代码适用于 Firefox,但是当 Safari 调用我的插入函数时,它忽略了重定向。
我想知道是否有人了解为什么 Safari 会忽略重定向,以及是否有办法(可能通过 addrinfo 标志)让 Safari 像 Firefox 一样运行。我的代码清单如下。
c++ - Boost.Asio 解析器的结果不同
我有一个罐头复制器每 5 秒调用一次boost::asio::ip::tcp::resolver::resolve()
。localhost
它计算返回的端点数,并将该值与前一次迭代进行比较。
示例会话
你可以看到它找到一个端点(127.0.0.1:80)大约 3.5 小时,然后找到两个(127.0.0.1:80 和 [::1]:80)。我在想
- 为什么端点数从一变为二?
- 什么可能导致它?
解析 ipv4 和 ipv6 地址是有意的,我不想将查询限制为 ipv4。我意识到这种行为可能并不特定于 asio,我也有一个getaddrinfo
直接调用的复制器,它表现出相同的行为。如果相关的话,我的平台是 ppc64 RHEL 6.2。我没有尝试在其他地方复制。
linux - 判断getaddrinfo返回的addrinfo结构中哪些属于当前机器
我打电话getaddrinfo
。它返回匹配地址的列表。其中一个属于发出呼叫的机器。我如何确定它是哪一个?
如果没有办法这样做,我还能做些什么来可靠且可移植地确定当前机器上特定网络接口的 IP 地址吗?
如果没有可移植的方式,Linux特有的方式是什么?
ipv6 - getaddrinfo() 会先返回 IPv6 地址吗?
我想使用 getaddrinfo() 读取所有地址(IPv4 和 IPv6)。我的问题是 getaddrinfo() 是否在列表中返回 IPv6 地址,后跟 IPv4。假设我将 AF_UNSPEC 传递给 getaddrinfo() 并使用双堆栈。
c - 将套接字绑定到计算机的地址以进行侦听
我创建了旨在将新套接字绑定到计算机地址的代码,以侦听特定端口上的传入连接。我正在使用 getaddrinfo。这是最好的方法吗?将端口整数转换为字符串似乎毫无意义。有没有不需要 sprintf 的方法来做到这一点?