LINUX下 ssdp 实现

本文介绍了SSDP(简单发现协议)在Linux环境下的实现过程,包括ssdp设备和查找者的角色与操作流程。重点讨论了ssdp消息类型如search、notify、resp和bye,以及编程中遇到的问题,如套接字的使用、组播属性设置、服务配置等。此外,还提到了为了在Windows网络邻居中可见,需要开启SSDP Discovery服务和提供XML文件的web服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LINUX下 ssdp 实现

ssdp介绍

ssdp(简单发现协议)是一个应用层协议,主要是在局域网中,让别的应用发现自己。通过ssdp协议,也能够让windows网络邻居显示应用。

ssdp实现流程

ssdp设备(相机、打印机):在网络中通过组播定时向外发送notify通知消息,通知查找端自己的存在,并在查找端查询时,向组播组中发送resp消息,在设备下线时向组播中发送bye消息。
ssdp查找者(群控软件、网络邻居):在网络中通过组播来发送search消息,询问局域网中的设备,并且接收设备发送的notify消息和resp消息得到对方的信息,接收bye信息并处理。

ssdp消息类型

saerch:

M-SEARCH * HTTP/1.1
HOST:239.255.255.250:1900
MAN:"ssdp:discover"
ST:upnp:rootdevice  //查询的设备类型
MX: 8 //设置设备响应最长等待时间,设备响应在0和这个值之间随机选择响应延迟的值

noti:

NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900      //协议保留多播地址和端口,必须是239.255.255.250:1900
CACHE-CONTROL: max-age=3600 // max-age指定通知消息存活时间,如果超过此时间间隔,控制点可以认为设备不存在  
LOCATION:http://192.168.2.172:80/upnpd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值