【发布时间】:2014-02-01 09:10:58
【问题描述】:
我在 C# 中使用 Bonjour 来获取本地网络中 IP 摄像机的 IP 地址。我使用GetAddrInfo(...) 这样做。找到地址后调用此方法:
private static void eventManager_AddressFound(DNSSDService service, DNSSDFlags flags, uint ifIndex, string hostname, DNSSDAddressFamily addressFamily, string address, uint ttl) {
Console.WriteLine("----------------------------------------");
Console.WriteLine(hostname);
Console.WriteLine(address);
Console.WriteLine("----------------------------------------");
}
我得到的输出是:
----------------------------------------
axis-00408cbeeae5.local.
192.168.0.2
----------------------------------------
----------------------------------------
axis-00408cbeeae5.local.
169.254.44.36
----------------------------------------
当我想连接到设备时,我使用第一个地址。 第二个地址是干什么用的? 此外,当我运行 ipconfig 时,我看到我的机器有两个不同的 IP 地址。所以我看到了类比,但我不明白。
【问题讨论】:
-
您的 IP 配置中有一些非常时髦的东西。我建议您检查该无线适配器的高级配置设置,并确保您没有定义多个 IP 地址。至少我会尝试重新启动,看看是否有帮助。
标签: c# networking ip-address local-network