简单服务发现协议(SDP ),一种用于发现局域网中的设备和服务的简单服务发现协议。
有两种类型的SDP消息:设备查询消息和设备通知消息,通常经常使用设备查询消息。
1、设备咨询信息:
格式示例如下:
m-search * http/1.1 host :239.255.25033601900 man : ' ssdp : discover ' MX 3:5 ST : SDP 3360 all其中第一行是消息
MAN后面的ssdp :发现器是固定的,MX是最长等待时间,ST :查询对象,其值如下:
UPnP:根设备, 网络中由根设备uuid :设备uuid查询uuid标识的设备urn :方案- UPnP-org :设备3360设备-类型3360版本查询第三个一般可用于自定义设备,如ST : urn :方案- UPnP-org :设备3360 server :1
如果设备接收到查询请求,并且查询类型(ST字段值)与此设备匹配,则设备必须向多播地址239.255.255.250:1900响应消息。 一般形式:
HTTP/1.1200 ok cache-control : max-age=secondsuntiladvertisementexpiresdate : whenreponsewasgeneratedext 3360 location 3360 us OS/version UPnP/1.0产品/versionst 3360 searchtargetusn : advertisement uuid
最常用的设备的发现已经结束了。 不常用设备的通知和设备的发现差别不大。 主要包括:
http标头不同,设备通知的标头为
NOTIFY * HTTP/1.1无,增长: NT在此消息中,NT标头必须是服务的服务类型。 NTS表示通知消息的子类型,并且必须在ssdp:alive或ssdp:byebyeUSN中表示不同服务的统一服务名。 这是通告* http/1.1 host :239.255.255.250:1900 cache-control : max-age=secondsuntiladvertisementexpireslocation 3360 urlforustion p : alive usn : advertisement uuid以下章节介绍了Android手机用于发现局域网中设备服务的ssdp协议的Android实现。