0

我正在尝试为 windows phone 8 做一个简单的 DLNA/UPnp 应用程序。我现在得到的只是一个“设备浏览器”应用程序,它通过 Udp 在特定端口中以广播形式发送 XML,并从所有 DLNA 设备获取响应。

我接下来要做的是向其中一个设备发送请求。它必须通过 Udp(符合 UPnp)并且请求也是 XML。我的问题是,当我发送广播消息时,我使用这个:

sendEvent = new SocketAsyncEventArgs();
sendEvent.RemoteEndPoint = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 1900);
[...]

但是在请求中(正如我所理解的那样),我必须将其发送到如下地址:

http: //19...:2869/upnphost/udhisapi.dll?event=uuid:9f7f98d8-2e8e-495c-9126-02a9f8d8b253+urn:upnp-org:serviceId:ContentDirectory

那应该是在听。

我不知道如何在 Windows 手机中实现这一点,因为我假设 WebClient 通过 TCP。有任何想法吗?

提前致谢

4

1 回答 1

0

从您的 URL 行推断:

http ://19...:2869/upnphost/udhisapi.dll?event=uuid:9f7f98d8-2e8e-495c-9126-02a9f8d8b253+urn:upnp-org:serviceId:ContentDirectory

您正在尝试订阅 Windows Media Server 中的 ContentDirectoryService 事件。

我知道ABS_PATHinSUBSCRIBE ABS_PATH HTTP/1.1在许多情况下确实令人困惑,因为某些标准 httpClient 实现通常只接受 URL 并解析为HOSTand REL_PATH

不熟悉C#,但是在这个有没有办法用WebClient做一个PUT?有一种方法可以覆盖WebClient.UploadStringMethod,因此您可以编写自己的方法和路径。

于 2013-08-26T14:29:47.647 回答