- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在 VB.NET 项目中使用 Intel 的 UPNP 库,虽然缺乏文档使它变得困难(字面上猜测我必须在每一行代码中使用什么属性/方法)我已经能够按照我的意愿改变它,并且我有一个在 Windows 上使用 UPNP 的非常实用的应用程序。
我的问题是,我现在希望能够将文件从设备主机传输到控制点。在 Google 上搜索答案表明,英特尔的 UPNP 使用嵌入式 Web 服务器来处理与 UPNP 相关的所有内容,我可以使用 AddVirtualDirectory 方法将自定义目录添加到我的设备。但随后,好运就结束了。没有文档,没有示例,什么都没有。
所以我的问题是:有人知道如何使用它吗?我只发现该方法需要 2 个委托(delegate)函数,声明为 VirtualDirectoryHandler,但我不知道我应该用它们做什么。
感谢您的帮助。
莱斯特
最佳答案
所以为了明确要求:控制点需要从设备中拉取(下载)图像。设备不需要访问(推送)到控制点。没有其他设备会尝试访问已存储在控制点上的图像。因此只有设备需要实现 ContentDirectory,控制点不需要。
我建议您阅读UPnP specs bundle 的MediaServer 文件夹中的UPnP-av-ContentDirectory 文档(任何版本) .查找 CreateObject、DeleteObject、ImportResource、ExportResource。如果我上面的假设是正确的,你实际上不需要它们,但为了理解 UPnP 中文件传输的含义。我承认我对英特尔 UPnP 一无所知,所以根据一般 UPnP 知识和随机全文搜索进行猜测。
要启用对象下载,设备需要提供可浏览的媒体存储。基本上,您需要在设备上实现 GET 请求处理程序。 UPnP 只不过是一个 ad-hoc 网络服务器,加上一些多播和额外的报头。这就是“英特尔的 UPNP 使用嵌入式 Web 服务器”的原因。 任何 UPnP 设备都是网络服务器。英特尔 UPnP 已经在 MediaServerDevice.WebServer_OnHeaderReceiveSink
和 WebServer_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/
我一直在用dart:route api 用于提供静态文件,但我注意到有一个名为 http_server 的核心库包含 dart:io 的辅助类和函数HttpServer . 我特别感兴趣的是类(cla
我正在使用 appcmd在 IIS8 中创建一个新的虚拟目录。其语法是: appcmd add vdir /app.name: /path: /physicalPath: 这工作正常。现在我需要设置一
我们在 azure 机器中托管 3 个不同的 Web 应用程序,并且我们使用 CI 将这些更改从 azure 中的构建服务器 TFS 推送到我们的机器。 问题出在physicalDirectory属性
我一直在 VB.NET 项目中使用 Intel 的 UPNP 库,虽然缺乏文档使它变得困难(字面上猜测我必须在每一行代码中使用什么属性/方法)我已经能够按照我的意愿改变它,并且我有一个在 Window
我有一个模块化的 asp.net 应用程序,其中模块部署在主 .net Web 应用程序下的虚拟目录中。我们有一个包含很多东西的通用模块。我试图将所有通用脚本文件从每个客户端特定项目中移出到一个通用模
我创建了以下代码,但它没有给出我想要的实际结果。代码:- ServerManager manager = new ServerManager(); Site defaultSite = manag
我是一名优秀的程序员,十分优秀!