gpt4 book ai didi

java - 执行 UPNP 扫描不会返回 Philips Hue Bridge

转载 作者:搜寻专家 更新时间:2023-10-30 21:34:21 34 4
gpt4 key购买 nike

我正在尝试实现我自己的 UpNP 扫描,它大部分都在工作,并且为了证明不是我干的,我有一个 Windows 程序,允许您发送数据包并查看返回的响应。

我正在通过端口 1900239.255.255.250 发送数据包,并且我正在发送以下数据:

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: "ssdp:discover"
MX: 10
ST: ssdp:all

只是为了进一步了解,在我的 Java 代码 (Android) 中,我有以下内容,但我得到与数据包测试器应用程序相同的响应:

try
{
byte[] sendData = new byte[1024];
//byte[] receiveData = new byte[1024];
byte[] receiveData;
String mSearch = "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255.250:1900\r\nMan: \"ssdp:discover\"\r\nMX: 10\r\nST: ssdp:all\r\n\r\n";
sendData = mSearch.getBytes();

DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, InetAddress.getByName("239.255.255.250"), 1900);

DatagramSocket clientSocket = new DatagramSocket();
clientSocket.send(sendPacket);

while (keepGoing)
{
receiveData = new byte[1024];
receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);

String response = new String(receivePacket.getData());

if (response == null || response.length() == 0)
{
keepGoing = false;
}
else
{
iupnpScan.updateText(response);
}

}
iupnpScan.complete(true);
return true;
}
catch (UnknownHostException ex)
{
Log.e("MainActivity", "Unknown Host Exception: " + ex.toString());
}
catch (SocketException ex)
{
Log.e("MainActivity", "Socket Exception: " + ex.toString());
}
catch (IOException ex)
{
Log.e("MainActivity", "IO Exception: " + ex.toString());
}
iupnpScan.complete(false);
return false;

我收到一些设备的回复,例如我的智能电视、路由器和 NAS,但飞利浦 Hue 网桥从未在回复中返回。

Philips Hue Bridge 是否以不同方式实现 UpNP?我所能看到的是他们现在发回了什么关于找到它所需的任何信息。

最佳答案

虽然Philips site注意到它支持UPnP,我不知道这是不是真的。

我会尝试扫描整个网络并逐个测试 IP。是的,我知道,这不是标准所说的,但现实有时是疯狂的。

这个发现已经在那里实现了 this way .

我过去编写了一个网络搜索程序(寻找 Raspberry PI),我可以使用的最佳方法是将 MAC 地址与我已知的地址开头进行匹配。幸运的是,Philips publish their MAC addresses range .

关于java - 执行 UPNP 扫描不会返回 Philips Hue Bridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990902/

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