2010-09-22 70 views
1

我正在使用SSDP通過M-SEARCH發送發現請求以獲取當前服務列表。 我的要求就像我想要獲得該服務器中存在的共享文件夾列表。SSDP使用M-SEARCH獲取共享文件夾列表?

目前,我以這種形式發送該請求:

"M-SEARCH * HTTP/1.1\r\n" 
    "Host: 239.255.255.250:1900\r\n" 
    "Man: \"ssdp:discover\"\r\n" 
    "ST:upnp:rootdevice\r\n" 
    "MX:3\r\n" 
    "\r\n"; 

,我得到迴應,因爲這些參數:

ST:upnp:rootdevice 
USN:uuid:122261ae-7c37-4234-9366-ed5286752f2b::upnp:rootdevice 
Location:http://172.24.17.221:2869/upnphost 
Cache-Control:: max-age = 900 
Server:: Linux 

我也想有共享文件夾列表,它存在於該服務器。 我怎麼能得到這個? 我需要指定的任何其他參數?歡迎任何代碼片段或想法。

回答

0

就目前所知,只有SSDP才能獲得任何共享文件夾。 SSDP爲您提供服務列表,但輪到您連接服務並「詢問」共享文件夾。

在你的榜樣,你將需要連接到:

Location:http://172.24.17.221:2869/upnphost 

這會給你的設備配置,包括支持服務。比你需要實現你想獲得共享文件夾所需的服務的協議。例如,ContentDirectory服務提供文件夾等。

這需要比簡單地進行M-SEARCH請求更多的負擔。