gpt4 book ai didi

c# - Dns.GetHostEntry 在 Windows Mobile 上返回错误的 IP 地址

转载 作者:行者123 更新时间:2023-11-30 17:24:18 25 4
gpt4 key购买 nike

这是通过 USB 连接到我的计算机的手持设备,使用 Compact Framework:

当我调用 Dns.GetHostEntry("") 或 Dns.GetHostEntry(IPAddress.Loopback) 获取手持设备的 IP 地址时,我将获取主机的 IP 地址。但是当我从手持设备向计算机发送数据包时,它们来自不同的地址。

有没有办法阻止它这样做?直接通过 P/Invoke 调用 DLL 会修复它吗?

手持设备未通过 WiFi 或蓝牙连接。唯一的连接是通过 USB。

最佳答案

当您调用 Dns.GetHostEntry("") 时,我认为您会在 IPHostEntry.AddressList 中取回 127.0.0.1 的单个条目(事实上,这是快速测试显示的内容)。 Dns.GetHostEntry(IPAddress.Loopback) 返回两个条目:127.0.0.1 和::1。

既不返回主机 PC 的 IP 地址,也不应返回设备的 IP 地址。如果您想要设备的 IP 地址,请使用如下内容:

IPHostEntry hostent = Dns.GetHostEntry(Dns.GetHostName());

foreach (var addr in hostent.AddressList)
{
Debug.WriteLine(addr.ToString());
}

关于c# - Dns.GetHostEntry 在 Windows Mobile 上返回错误的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com