本质上和UDP发送数据一样,只是发送的字符串是指定格式:
//the broadcast request, ie "Any upnp devices out there?"
char *request = "M-SEARCH * HTTP/1.1\r\nHOST:239.255.255.250:1900\r\nMAN:\"ssdp:discover\"\r\nST:ssdp:all\r\nMX:5\r\n\r\n";
然后发送的目的地是多播地址:
#define MULTI_CAST_SERVER "239.255.255.250" //Multicast ip address
#define MULTI_CAST_PORT 1900 //The port listens for incoming multicast data
如果存在ssdp设备,就能收到返回的信息。
参考网站:
http://www.ibm.com/developerworks/cn/linux/other/UPnP/part2/index.html
http://www.cnblogs.com/pengkunfan/p/3585540.html
http://www.codemud.net/~thinker/GinGin_CGI.py/show_id_doc/446