gpt4 book ai didi

windows - 关于使用英特尔 UPNP 的 VirtualDirectory 处理程序的任何示例/教程?

转载 作者:可可西里 更新时间:2023-11-01 10:27:13 25 4
gpt4 key购买 nike

我一直在 VB.NET 项目中使用 Intel 的 UPNP 库,虽然缺乏文档使它变得困难(字面上猜测我必须在每一行代码中使用什么属性/方法)我已经能够按照我的意愿改变它,并且我有一个在 Windows 上使用 UPNP 的非常实用的应用程序。

我的问题是,我现在希望能够将文件从设备主机传输到控制点。在 Google 上搜索答案表明,英特尔的 UPNP 使用嵌入式 Web 服务器来处理与 UPNP 相关的所有内容,我可以使用 AddVirtualDirectory 方法将自定义目录添加到我的设备。但随后,好运就结束了。没有文档,没有示例,什么都没有。

所以我的问题是:有人知道如何使用它吗?我只发现该方法需要 2 个委托(delegate)函数,声明为 VirtualDirectoryHandler,但我不知道我应该用它们做什么。

感谢您的帮助。

莱斯特

最佳答案

所以为了明确要求:控制点需要从设备中拉取(下载)图像。设备不需要访问(推送)到控制点。没有其他设备会尝试访问已存储在控制点上的图像。因此只有设备需要实现 ContentDirectory,控制点不需要。

我建议您阅读UPnP specs bundleMediaServer 文件夹中的UPnP-av-ContentDirectory 文档(任何版本) .查找 CreateObject、DeleteObject、ImportResource、ExportResource。如果我上面的假设是正确的,你实际上不需要它们,但为了理解 UPnP 中文件传输的含义。我承认我对英特尔 UPnP 一无所知,所以根据一般 UPnP 知识和随机全文搜索进行猜测。

要启用对象下载,设备需要提供可浏览的媒体存储。基本上,您需要在设备上实现 GET 请求处理程序。 UPnP 只不过是一个 ad-hoc 网络服务器,加上一些多播和额外的报头。这就是“英特尔的 UPNP 使用嵌入式 Web 服务器”的原因。 任何 UPnP 设备都是网络服务器。英特尔 UPnP 已经在 MediaServerDevice.WebServer_OnHeaderReceiveSinkWebServer_OnPacketReceiveSink 中包含 VirtualDirectoryHandler 的实现。很有可能,您可以开箱即用地使用此 MediaServerDevice.cs 来实现 ContentDirectory。查看整个 SDK 中 VirtualDirectoryHandler 的用法,了解如何使用它。

控制点下载器需要执行 AVTransport.Browse 命令来找到要下载的图像的资源 URL。 Intel 的 MediaBrowser.cs 看起来很有前途。我建议您也阅读上面指出的文档的开头,以深入了解 UPnP ContentDirectory 的导航结构。如有疑问,请从 Intel 的工具套件运行 DeviceSpy 并手动查询您的设备。从 ObjectID“0”开始。没有什么比查看原始 XML DIDL 响应更能帮助您理解 ContentDirectory 了。

一旦您的控制点知道资源 URL,您只需通过 HTTP GET 下载它。不需要花哨的 ImportObject,因为控制点也是目标存储。最后一部分在技术上与 UPnP 无关。

关于windows - 关于使用英特尔 UPNP 的 VirtualDirectory 处理程序的任何示例/教程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343479/

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