想查看英文原文的请点击原文网址。本文是paho中讲述订阅通配符的。还是那句话,水平有限,如有翻译不当之处,欢迎指正。

订阅通配符

  MQTT信息包含一个主题来进行区分。MQTT服务器使用主题来确定哪个订阅者可以接收到发布到服务器的信息。

  考虑到服务器要接收来自多种环境传感器的信息,每个传感器将它的测量数据作为带有相关主题的信息来发布,订阅程序需要知道,这些收到的信息,分别是由哪个传感器最初发布的,因此使用一个唯一的话题来区分每个传感器和测量类型。如SENSOR1TEMP,SENSOR1HUMIDITY,SENSOR2TEMP 等之类的话题实现了以上所述,但不够灵活,如果在之后有别的传感器被添加到这个系统,还必须要修改订阅应用程序以接收它们。

  为了提供更大的灵活性, MQTT 支持分层主题命名空间。这允许应用程序设计人员组织主题以简化其管理。层次结构中的级别由 "/" 字符分隔, 如 SENSOR/1/HUMIDITY。发布者和订阅者使用这些如上文所述的层次结构的主题。

  订阅者支持两种两个通配符:

  1."#" 字符表示层次结构的完整子树, 因此必须是订阅主题字符串中的最后一个字符, 如SENSOR/#。这将匹配从SENSOR/开始的任何主题, 如 SENSOR/1/TEMP 和 SENSOR/2/HUMIDITY。

  2."+" 字符表示层次结构的单个级别, 并在分隔符之间使用。例如, SENSOR/+/TEMP将匹配 SENSOR/1/TEMP 和 SENSOR/2/TEMP。

发布者不允许在其主题名称中使用通配符。

确定主题层次结构是系统设计中的一个重要步骤。

Subscription wildcards(MQTT)的更多相关文章

  1. getting-started-with-mqtt

    来自:https://dzone.com/refcardz/getting-started-with-mqtt SECTION 1 Why MQTT? The Internet of Things ( ...

  2. MQTT 消息 发布 订阅

    当连接向一个mqtt服务器时,clientId必须是唯一的.设置一样,导致client.setCallback总是走到 connectionLost回调.报connection reset.调查一天才 ...

  3. ActiveMQ(5.10.0) - Wildcards and composite destinations

    In this section we’ll look at two useful features of ActiveMQ: subscribing to multiple destinations ...

  4. ActiveMQ in Action(7) - Wildcards

    关键字: activemq 2.6.7 Wildcards    Wildcards用来支持联合的名字分层体系(federated name hierarchies).它不是JMS规范的一部分,而是A ...

  5. MQTT——订阅报文

    我们已经把相关的连接报文搞定了.笔者想来想去还是决定先讲解一下订阅报文(SUBSCRIBE ).如果传统的通信方式是客户端和服务端之间一般就直接传输信息.但是MQTT的通信方式是通过发布/订阅的方式进 ...

  6. Asynchronous MQTT client library for C (MQTT异步客户端C语言库-paho)

    原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTAsync/html/index.html MQTT异步客户端C语言库   用于C的异步 MQTT 客 ...

  7. MQTT Client library for C (MQTT客户端C语言库-paho)

    原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTClient/html/index.html 来自我的CSDN博客   最近在使用Paho的MQTT客 ...

  8. 常见MQTT服务器搭建[转载]

    简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...

  9. 常见MQTT服务器搭建与试用

    常见MQTT服务器搭建与试用   简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠 ...

随机推荐

  1. [转载] 理解OAuth 2.0

    转载自http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛 ...

  2. javascript第七章--DOM

    ① 节点层次 ② DOM操作技术

  3. Builder模式的思考(Effective Java)

    <Effective Java>(第2版)中第二条中提到:遇到多个构造器参数时要考虑用构建器.在复习static关键字和内部类时回头看了一下,这才明白了为什么要用静态内部类来做处理,这里记 ...

  4. 字节、十六进制字符串相互转换(asc2hex、hex2asc)

    //================================================================== /** 功能: 将16进制数组转换成asc字符数组(短转长) ...

  5. em单位使用小结

    em是一个css的单位. em是一个相对的单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸.(引自CSS2.0手册) 一般在DOM元素中,当前 ...

  6. gulp 小坑一个

    学习gulp的时候,看到很多人写到 gulp.task('styles', function() { return gulp.src('src/styles/main.scss') .pipe(sas ...

  7. 【原创】python基于大数据现实双色球预测

    前提准备:利用sql筛选出每个球出现概率最高的前5个数 原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停 注意事项:由于计算过程数据量很大,需要加入内 ...

  8. 如何滚动更新 Service?- 每天5分钟玩转 Docker 容器技术(102)

    在前面的实验中,我们部署了多个副本的服务,本节将讨论如何滚动更新每一个副本. 滚动更新降低了应用更新的风险,如果某个副本更新失败,整个更新将暂停,其他副本则可以继续提供服务.同时,在更新的过程中,总是 ...

  9. http高可用+负载均衡 corosync + pacemaker + pcs

    http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861. ...

  10. 微软为.NET程序员带来了最优的跨平台开发体验-WSL

    前言 在前几个Visual Studio Code更新中发现有一个重要得特性,就是nodejs可以使用VS Code在WSL中进行Debug了(WSL是指Win10中的Linux子系统),之前写过一篇 ...