ssdp协议内容解析视频_固态硬盘的协议

ssdp协议内容解析视频_固态硬盘的协议SSDP协议内容解析

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

    SSDP(Simple Service Discovery Protocol),简单服务发现协议,用于发现局域网里面的设备和服务。

    SSDP消息分为设备查询消息、设备通知消息两种,通常情况下,使用更多地是设备查询消息。

    1、设备查询消息:

    格式例子如下:

M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 5
ST: ssdp:all

    其中第一行是消息头,固定;HOST对应的是广播地址和端口,239.255.255.250是默认SSDP广播ip地址,1900是默认的SSDP端口;

    MAN后面的ssdp:discover为固定,MX为最长等待时间,ST:查询目标,它的值可以是:

upnp:rootdevice 仅搜索网络中的根设备 
uuid:device-UUID 查询UUID标识的设备 
urn:schemas-upnp-org:device:device-Type:version 查询device-Type字段指定的设备类型,设备类型和版本由UPNP组织定义。 
其中,第三种一般可以用来自定义设备,如:ST: urn:schemas-upnp-org:device:Server:1

    在设备接收到查询请求并且查询类型(ST字段值)与此设备匹配时,设备必须向多播地址239.255.255.250:1900回应响应消息。一般形如:

HTTP/1.1 200 OKCACHE-CONTROL: max-age = seconds until advertisement expiresDATE: when reponse was generatedEXT:LOCATION: URL for UPnP description for root deviceSERVER: OS/Version UPNP/1.0 product/versionST: search targetUSN: advertisement UUID

 

    最常用的设备发现就讲完了,不常用的设备通知和设备发现差别不大,主要是:

http头不同,设备通知的头为

NOTIFY * HTTP/1.1
无MX,增加:
NT	在此消息中,NT头必须为服务的服务类型。
NTS	表示通知消息的子类型,必须为ssdp:alive或者ssdp:byebye
USN	表示不同服务的统一服务名,它提供了一种标识出相同类型服务的能力
典型的设备通知消息格式如下:
NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900
CACHE-CONTROL: max-age = seconds until advertisement expires
LOCATION: URL for UPnP description for root device
NT: search target
NTS: ssdp:alive
USN: advertisement UUID


下一章节将会讲述SSDP协议的Android实现,用于Android手机发现局域网里面的设备服务。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183060.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • opencv中的cvCircle函数

    opencv中的cvCircle函数定义voidcvCircle(CvArr*img,CvPointcenter,intradius,CvScalarcolor,intthickness=1,intline_type=8,intshift=0);[1]参数img 图像center 圆心坐标radius 圆形的半径color 线条的颜色thic

  • c语言数组定义(详细)「建议收藏」

    c语言数组定义(详细)「建议收藏」数组:什么是数组:变量的组合,是一种定义变量的手段。定义:类型数组名[数量];数组定义后,默认值同样不确定,因此也需要初始化。intarr[5]<==>intnum1,num2,num3,num4,num5;使用:数组名[编号]编号(下标)从0开始,范围[0,数量-1]遍历:配合for循环从头到尾显示,循环变量i就当做数组的下标。intarr[5];f…

  • pychar激活码3月最新在线激活

    pychar激活码3月最新在线激活,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 旋转编码器工作原理图_编码器工作原理图解

    旋转编码器工作原理图_编码器工作原理图解一、旋转编码器的原理和特点:旋转编码器是集光机电技术于一体的速度位移传感器。当旋转编码器轴带动光栅盘旋转时,经发光元件发出的光被光栅盘狭缝切割成断续光线,并被接收元件接收产生初始信号。该信号经后继电路处理后,输出脉冲或代码信号。其特点是体积小,重量轻,品种多,功能全,频响高,分辨能力高,力矩小,耗能低,性能稳定,可靠使用寿命长等特点。1、增量式编码器增量…

  • DreamWeaver初学教程

    DreamWeaver初学教程DreamWeaver是个原本由Macromedia公司所开发的著名网站开发工具。它使用所见即所得的接口,亦有HTML编辑的功能。它现在有Mac和Windows系统的版本。随Macromedia被Adobe收购后,Adobe也开始计划开发Linux版本的Dreamweaver了。Dreamweaver自MX版本开始,使用了Opera的排版引擎"Presto"作为网页预览。使用Dreamwea…

  • spring整合Mybatis-plus[通俗易懂]

    spring整合Mybatis-plus[通俗易懂]spring整合Mybatis-plus今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。既然是spring,那就少不了各种xxx.xml配置文件。那就先说说配置文件<1>.application-dao.xmldao层的配置,他的核心就是要产生Mapper代理对象 1、数据源的配置<context:prope…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号