这是在通过USB连接到我的电脑的手持设备上,使用Compact Framework:
当我调用Dns.GetHostEntry("")或Dns.GetHostEntry(IPAddress.Loopback)来获取手持设备的IPAddresses时,我获得了我的主机的IPAddresses。但是,当我从手持设备向计算机发送数据包时,它们来自不同的地址。
有没有办法阻止它这么做?直接通过P/Invoke调用DLL能解决这个问题吗?
手持设备不能通过WiFi或蓝牙连接。唯一的连接是通过USB。
发布于 2009-07-28 14:59:25
当您调用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());
}https://stackoverflow.com/questions/1194388
复制相似问题