Java的UPnP库

23

是否有一个库可以通过UPnP实现服务发现和发布?

(我正在寻找一些替代JmDNS的选择,虽然在协议方面它对我们的目的很好,但作为一个库非常不稳定,有着令人无法接受的死锁倾向。)


1
你也可以尝试使用:http://sourceforge.net/projects/cgupnpjava/ - lordhong
我认为我们已经解决了JmDNS中发现的所有死锁问题,但它存在比这更大的问题,例如在某些系统上根本无法工作。 - Hakanai
2个回答

26

@Roland:你能告诉我你要做什么吗?我需要帮助在安卓设备中发现UPnP设备。我想制作一个应用程序,使我的安卓设备作为媒介,能够从互联网流媒体并提供给UPnP设备使用。对此有什么帮助吗? - Rakesh Gondaliya
谢谢,我正期待着这个...谢谢。 - Rakesh Gondaliya
我们需要它来与使用UPnP进行通信和协商的第三方POS系统集成。就你的特定情况而言,我无法真正帮助你(顺便说一句 - 我发现UPnP是一个非常丑陋的协议)。 - Roland Tepp
我使用了这个库(https://market.android.com/details?id=com.mikebevz.upnp)制作了一个应用,但是在Android 3.0+设备上,该库会抛出NulPointerException异常。有人遇到过这个问题吗? - Mike Bevz
该库已不再维护,因此可能不再是一个好的选择。 - SubJunk

9
你也可以尝试使用ohNet,它包括Java绑定和控制点/设备堆栈,并且采用BSD许可证。(免责声明:我为这个项目做出了贡献)

1
@IMAnis_tn 使用CpDeviceListUpnpDeviceType("upnp.org", "InternetGatewayDevice", 1, listener)。每当找到这样的设备时,'listener'将被回调。使用getUdn()函数检索设备UDN。如果要搜索特定的服务类型,也可以使用CpDeviceListUpnpServiceType。 - simonc
1
看起来它不是100%的Java。 - Thorbjørn Ravn Andersen
@ThorbjørnRavnAndersen,没错。这是一个C++库,具有所有公共API的Java包装器。C++代码可以构建为Android、Windows、Mac和Linux,因此可以轻松部署到最有可能托管Java的平台上。也可以将其移植到其他操作系统。 - simonc
@simonc,哦,为什么没有一些入门样例呢? - Pacerier
@Pacerier,概述文档涵盖了这个问题。 - simonc
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接