2013-08-23 70 views
0

我正在嘗試爲Windows Phone 8做一個簡單的DLNA/UPnp應用程序。 我現在得到的是一個「設備瀏覽器」應用程序,它通過Udp在特定端口廣播XML並獲得所有DLNA設備的響應。UPnp請求Windows Phone 8

接下來我要做的是向這些設備之一發送請求。 它必須通過Udp(與UPnp兼容)並且請求也是XML。 我的問題是,當我發送廣播消息,我用這個:

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

但在請求(因爲我沒理解好),我必須把它發送到ADRESS,如:

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

這是作爲聽。

我不知道如何在Windows手機上實現這一點,因爲我認爲WebClient通過TCP。 任何想法?

在此先感謝

+0

如果您想調用設備上的操作,您需要通過TCP發送SOAP請求。一般而言,您的術語相當混亂。您沒有足夠詳細地瞭解UPnP來編寫自己的堆棧,而是考慮使用現有的UPnP堆棧嗎? – simonc

回答

0

從您的網址行推斷:

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

你想訂閱ContentDirectoryService的三項賽在Windows Media服務器。

我明白SUBSCRIBE ABS_PATH HTTP/1.1ABS_PATH真的混淆了許多senerio,對一些標準的HttpClient實現通常只接受URL,並解析成HOSTREL_PATH

不熟悉C#,但在此Is there a way to do a PUT with WebClient?有一種方法可以覆蓋WebClient.UploadString方法,因此您可以編寫自己的方法和路徑。