UPnP Java库存在的问题

时间:2012-04-19 15:08:17

标签: java upnp

我开始疯狂阅读论坛并尝试不同的Java UPnP库,但我的网络中找不到IGD。

首先,我要注意UPnP在我用C ++编写的程序(使用miniupnp)中运行良好,因此我的路由器已经配置为与UPnP配合使用。

Sending M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
MAN: "ssdp:discover"
MX: 2

M-SEARCH Reply:
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Location: http://192.168.25.50:1780/InternetGatewayDevice.xml
...

我尝试使用weupnp(java的一种miniupnp)开发应用程序,使用sbbi upnp lib和Cling upnp,但奇怪的是所有三个API都无法从我的路由器中找到响应。

有人知道Java upnp API是否有某种依赖性或要求我不知道?

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

该请求是否来自您的Java应用程序或C ++应用程序?我知道有些框架使用ST扫描设备:upnp:rootdevice使一些路由器只宣告自己,而不是任何其他设备。如果在路由器中关闭upnp,它会开始转发它们。

但基本上这是一个破碎的框架,你应该能够定义你正在扫描的ST。

如果您可以为Java应用程序提供有用的网络转储。

答案 1 :(得分:0)

Weupnp 0.1.2现在可以专注于特定的ST和过滤回复。

正如jishi所说,许多潜在问题来自upnp:rootdevice消息。

如果您仍然需要此功能,我建议您尝试latest version of weupnp吗?

答案 2 :(得分:0)

请注意,EPC2425也可能存在问题,知道吃SSDP数据包:https://sonos.custhelp.com/app/answers/detail/a_id/42/~/network-hardware-compatibility