其他分享
首页 > 其他分享> > CodeGo.net>如何订阅UPnP事件

CodeGo.net>如何订阅UPnP事件

作者:互联网

对于大多数人来说,这实际上应该是一个简单的HttpRequestMessage问题.我正在尝试按照UPnP Device Architecture doc的4.1.2节中所述向UPnP设备发送订阅请求,并且我需要发送的消息应该看起来像以下内容:

SUBSCRIBE publisher path HTTP/1.1
HOST: publisher host:publisher port  
USER-AGENT: OS/version UPnP/1.1 product/version  
CALLBACK: <delivery URL>  
NT: upnp:event  
TIMEOUT: Second-requested subscription duration 

显然,其中大多数是非常简单的.我有一些问题要问,因为我当前的方法不起作用.我收到从服务器返回的NotFound.

请求行SUBSCRIBE发布者路径HTTP / 1.1是否与创建WebRequest(WebRequest.Create(…))时相同,或者是否可以设置属性?

在这种情况下,SUBSCRIBE是HttpMethod还是Get,POST,PUT等?

这是当前的请求代码:

var request = WebRequest.Create(new Uri(eventUri)) as HttpWebRequest;

request.Method = "SUBSCRIBE";
request.UserAgent = "MyTab/1.0 UPnP/1.1 TestApp/1.0";
request.Headers["CALLBACK"] = "<" + hostname.DisplayName + ":8088>";
request.Headers["NT"] = "upnp:event";
request.Headers["TIMEOUT"] = "Second-300";

解决方法:

看起来一切都正确,除了我忘记将http://附加到回调URL之外.

标签:http-headers,httprequest,upnp,c
来源: https://codeday.me/bug/20191122/2060984.html