1

我在 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 地址。所以我看到了类比,但我不明白。

在此处输入图像描述

4

1 回答 1

1

第二个地址看起来像是用于自动配置的地址。一旦配置了适配器,它就会消失。我不知道为什么它会持续存在,但是,我不知道 IP 摄像机。

如果第一个地址有效,则继续使用它。基本上,使用第一个有效的地址。

于 2014-01-13T15:11:23.213 回答