我正在寻找任何在 Ruby 中实现 UPnP 取得相当成功的人。在这个主题上似乎很少有连贯和完整的。
我一直在使用来自Seattlerb的UPnP gem。我认为这可能是最好的,但它是不完整的,因为文档有些有限(尽管比我发现的其他任何东西都要好),而且我认为协议的某些方面没有实现。所以,我以此为起点。
我正在尝试编写一个“ UPnP MediaServer ControlPoint ”,它将检测网络上的 UPnP 服务器并提供有关存储在那里的媒体的信息,并提供一种将该媒体下载到本地硬盘驱动器的方法。实际上播放此类媒体不是必需的对于这个应用程序:它只是一个从作为 DLNA 媒体服务器的 PVR 上抓取录音的工具。
我有 UPnP gem 在 ruby 1.9.3 下工作。我必须进行一些代码更改才能使其正常工作,并且我的代码更改可能不完整,因为我没有超越简单的设备和服务发现。
我现在要做的是与发现的设备进行交互以获取其可用内容的列表,然后访问该内容。然而,经过几天的互联网搜索、阅读 UPnP 设备架构文档、逆向工程在互联网上找到的代码位(包括 UPnP gem),我不清楚下一步该去哪里。
我在这里发帖是希望其他人已经走过这条路,并愿意为我指明一个合适的方向......
如果它对其他人有帮助,我的评估工作在github 上。