C# 查找Philips Hue的网桥IP地址

C# 查找Philips Hue的网桥IP地址,c#,philips-hue,C#,Philips Hue,我使用了下面链接中的示例 static void Main(字符串[]args) { IBridgeLocator定位器=新的SSDPBridgeLocator(); //对于Windows 8和.NET45项目,您可以使用SSDPBridgeLocator来实际扫描您的网络。 //请参阅附带的BridgeDiscoveryTests以及特定的.NET和.WinRT项目 IEnumerable bridgeIPs=locator.LocateBridgesAsync(TimeSpan.FromS

我使用了下面链接中的示例

static void Main(字符串[]args)
{
IBridgeLocator定位器=新的SSDPBridgeLocator();
//对于Windows 8和.NET45项目,您可以使用SSDPBridgeLocator来实际扫描您的网络。
//请参阅附带的BridgeDiscoveryTests以及特定的.NET和.WinRT项目
IEnumerable bridgeIPs=locator.LocateBridgesAsync(TimeSpan.FromSeconds(5)).GetWaiter().GetResult();
foreach(bridgeIPs中的var bridgeIp)
{
控制台写入线(bridgeIp);
}
Console.ReadLine();
}
当我运行这个控制台应用程序时,它找不到网桥ip地址。有人能解释一下我做错了什么吗?我证实了飞利浦顺化的桥梁工作正常

如何在网络中自动找到Philips Hue bridge


我应该在哪些凭据上运行console应用程序

我所面临的问题:在我使用并进行构建并尝试运行代码后,它有时成功地检索网桥IP地址,但有时失败

我一直确保成功运行的一些事情: 1) 如Ben在评论中提到的,以管理员身份运行
2) 执行清理和重建,然后尝试运行该应用程序。

我所面临的问题:在我使用并执行生成并尝试运行代码后,它有时成功地检索网桥IP地址,但有时失败

我一直确保成功运行的一些事情: 1) 如Ben在评论中提到的,以管理员身份运行
2) 执行清理和重建,然后尝试运行应用程序。

“我应该在哪些凭据上运行console应用程序?”-管理员?以前我尝试以管理员身份运行,但失败。但现在我能够成功地运行它。谢谢你的回答。这真的解决了问题吗?@Ben:它又开始失败了。我无法检索IP地址。没有代码更改。你知道是什么原因造成的吗。对我来说似乎是个网络问题。在几次运行中,它似乎已经解决了问题。那么,在这之后,您是否设法解决了问题?如果是这样的话,请随意将其添加为下面的答案(你甚至可能会因为解决自己的问题而获得几张赞成票!这总是值得一些赞誉的)。确保添加问题的详细信息以及您为解决这些问题所做的工作!“我应该在哪些凭据上运行console应用程序?”-管理员?以前我尝试以管理员身份运行,但失败了。但现在我能够成功地运行它。谢谢你的回答。这真的解决了问题吗?@Ben:它又开始失败了。我无法检索IP地址。没有代码更改。你知道是什么原因造成的吗。对我来说似乎是个网络问题。在几次运行中,它似乎已经解决了问题。那么,在这之后,您是否设法解决了问题?如果是这样的话,请随意将其添加为下面的答案(你甚至可能会因为解决自己的问题而获得几张赞成票!这总是值得一些赞誉的)。确保添加问题的详细信息以及您为解决这些问题所做的工作!
static void Main(string[] args)
{
    IBridgeLocator locator = new SSDPBridgeLocator();

    //For Windows 8 and .NET45 projects you can use the SSDPBridgeLocator which actually scans your network. 
    //See the included BridgeDiscoveryTests and the specific .NET and .WinRT projects
    IEnumerable<string> bridgeIPs = locator.LocateBridgesAsync(TimeSpan.FromSeconds(5)).GetAwaiter().GetResult();
    foreach (var bridgeIp in bridgeIPs)
    {
        Console.WriteLine(bridgeIp);
    }
    Console.ReadLine();
}