Java的UPnP库[关闭]
Posted
技术标签:
【中文标题】Java的UPnP库[关闭]【英文标题】:UPnP library for Java [closed] 【发布时间】:2011-03-14 20:48:19 【问题描述】:是否有通过 UPnP 实现服务发现和发布的库?
(我正在尝试寻找 JmDNS 的一些替代方案,虽然它们在协议方面可以很好地满足我们的目的,但作为一个库非常不稳定,并且具有令人无法接受的死锁倾向。)
【问题讨论】:
你也可以试试:sourceforge.net/projects/cgupnpjava 我认为我们修复了我们在 JmDNS 中发现的所有死锁,但它的问题远不止于此,例如它在某些系统上根本不起作用。 【参考方案1】:http://4thline.org/projects/cling/
面向 Java 和 android 开发人员的开源 DLNA/UPnP 堆栈、库和工具
【讨论】:
谢谢 - 这正是我要找的 @Roland : 你能告诉我你到底要做什么吗?我需要有关在 android 中发现 UPnP 设备的帮助。我想让我的 android 设备用作媒体的应用程序,它可以从 Internet 流式传输媒体,然后提供给 UPnP 设备..对此有任何帮助.. 谢谢,我只是期待这个......谢谢 我们需要它来与使用 UPnP 进行通信和协商的第 3 方 POS 系统集成。在您的特定情况下,我真的无法帮助您(fwiw - 我发现 UPnP 是一个非常丑陋的协议) 我已经用这个库 (market.android.com/details?id=com.mikebevz.upnp) 制作了一个应用程序,但该库在 Android 3.0+ 设备上抛出 NulPointerException。有人看到这个问题吗?【参考方案2】:您也可以尝试ohNet,它包括在 BSD 许可下的 Java 绑定和控制点/设备堆栈。
(免责声明:我为这个项目做出了贡献)
【讨论】:
很有趣...但我找不到如何获得我的网关 UDN。有可能吗? @IManis_tn 使用 CpDeviceListUpnpDeviceType("upnp.org", "InternetGatewayDevice", 1, listener)。每次找到这样的设备时都会回调“listener”。使用 getUdn() 函数检索设备 udn。如果您想搜索特定的服务类型,也可以使用 CpDeviceListUpnpServiceType。 @IManis_tn 也值得看看project wiki 上的控制点概述,了解有关如何初始化库的详细信息 看起来不是 100% Java。 @ThorbjørnRavnAndersen 是正确的。它是一个 C++ 库,带有适用于所有公共 API 的 Java 包装器。 C++ 代码可以为 Android、Windows、Mac 和 Linux 构建,因此可以轻松部署到最有可能托管 Java 的平台。也可以移植到其他操作系统。以上是关于Java的UPnP库[关闭]的主要内容,如果未能解决你的问题,请参考以下文章