关于SSDP

简介: SSDP(简单服务发现协议)是应用层协议,是构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(network client)提供了一种发现网络服务(network services)的机制,采用基于通知和发现路由的多播方式实现。

SSDP(简单服务发现协议)是应用层协议,是构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(network client)提供了一种发现网络服务(network services)的机制,采用基于通知和发现路由的多播方式实现。

SSDP有两种不同的类型:发现请求和存在通知。在本例中用到的只有发现请求(Discovery request 或查询请求)。SSDP客户端向此地址发送HTTP UDP 发现请求,查询某种类型的服务。SSDP服务在此地址上监听服务发现请求。当服务监听到的HTTP UDP 发现请求和它自己提供的服务匹配时,它以单播方式发送HTTP UDP 响应。

关于SSDP的应用

更新中...

ESP8266的实现

以下为基于SSDP协议实现的一个ESP8266的WebServer

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266SSDP.h>

const char* ssid = "<输入您的WIFI名称>";
const char* password = "<WIFI密码>";

ESP8266WebServer HTTP(80);

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.println("Starting WiFi...");

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  if(WiFi.waitForConnectResult() == WL_CONNECTED){

    Serial.printf("Starting HTTP...\n");
    HTTP.on("/index.html", HTTP_GET, [](){
      HTTP.send(200, "text/plain", "Hello World!");
    });
    HTTP.on("/description.xml", HTTP_GET, [](){
      SSDP.schema(HTTP.client());
    });
    HTTP.begin();

    Serial.printf("Starting SSDP...\n");
    SSDP.setSchemaURL("description.xml");
    SSDP.setHTTPPort(80);
    SSDP.setName("Philips hue clone");
    SSDP.setSerialNumber("001788102201");
    SSDP.setURL("index.html");
    SSDP.setModelName("Philips hue bridge 2012");
    SSDP.setModelNumber("929000226503");
    SSDP.setModelURL("http://www.meethue.com");
    SSDP.setManufacturer("Royal Philips Electronics");
    SSDP.setManufacturerURL("http://www.philips.com");
    SSDP.begin();

    Serial.printf("Ready!\n");
  } else {
    Serial.printf("WiFi Failed\n");
    while(1) delay(100);
  }
}

void loop() {
  HTTP.handleClient();
  delay(1);
}

本文还在持续更新中,后续内容还敬请关注

相关文章
|
4月前
|
域名解析 网络协议
【计算机网络】DNS 分别在什么情况下使用 UDP 和 TCP?
【1月更文挑战第10天】【计算机网络】DNS 分别在什么情况下使用 UDP 和 TCP?
|
11月前
|
JSON 负载均衡 前端开发
一文带你详细了解Open API设计规范
一文带你详细了解Open API设计规范
2894 1
|
11月前
|
运维 安全 Cloud Native
阿里云云安全中心介绍_态势感知_主机安全_漏洞扫描
阿里云云安全中心介绍_态势感知_主机安全_漏洞扫描,阿里云云安全中心(原态势感知)是一个实时识别、分析、预警安全威胁的服务器主机安全管理系统,云安全中心功能支持漏洞扫描与修复、基线检查、防勒索、防病毒、防篡改、威胁检测模型等功能,云安全中心基础版免费、防病毒班432元一年、高级版优惠价969元一年,还有企业版和旗舰版可选
346 0
|
4月前
|
存储 网络协议 网络安全
RTMP协议详解及Wiresahrk抓包分析(一)
RTMP协议详解及Wiresahrk抓包分析
282 2
|
存储 NoSQL 程序员
试试 python-dotenv,避免敏感信息被硬编码到代码中
试试 python-dotenv,避免敏感信息被硬编码到代码中
197 0
|
10月前
|
存储 安全 大数据
数据隐私与安全在大数据时代的挑战与应对
数据隐私与安全在大数据时代的挑战与应对
770 0
|
存储 分布式计算 Kubernetes
JuiceFS-开源分布式文件系统入门(一篇就够了)
讲解JuiceFS的一些概念、架构以及实操的案例
5057 0
JuiceFS-开源分布式文件系统入门(一篇就够了)
|
存储 缓存 负载均衡
图解一致性哈希算法,看这一篇就够了!
近段时间一直在总结分布式系统架构常见的算法。前面我们介绍过布隆过滤器算法。接下来介绍一个非常重要、也非常实用的算法:一致性哈希算法。通过介绍一致性哈希算法的原理并给出了一种实现和实际运用的案例,带大家真正理解一致性哈希算法。
10318 4
图解一致性哈希算法,看这一篇就够了!
|
SQL 关系型数据库 MySQL
SQL Server 2008 R2如何开启数据库的远程连接
SQL Server 2008 R2如何开启数据库的远程连接
538 0