mosquitto_pub(发布)的用法

用法:

mosquitto_pub [-d] [-h hostname] [-i client_id] [-I client id prefix] [-p port number] [-q message QoS] [--quiet] [-r] { -f file | -l | -m message | -n | -s} [-u username [-P password] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] -t message-topic

  

选项:

-d, –debug :开启debug选项

-f, –file:把一个文件的内容做为消息的内容发送。经测试,支持txt文件,不支持doc等其他形式文件。

-h, –host:说明所连接到的域名,默认是localhost

-i, –id:客户端的ID号,如果没有指定,默认是mosquitto_pub_加上客户端的进程id,不能和–id_prefix同时使用。

-I, –id-prefix :指定客户端ID的前缀,与客户端的进程ID连接组成客户端的ID,不能和–id同时使用。

-l, –stdin-line:从总段读取输入发送消息,一行为一条消息,空白行不会被发送。

-m, –message:从命令行发送一条消息,-m后面跟发送的消息内容。

-n, –null-message:发送一条空消息。

-p, –port:连接的端口号,默认是1883.

-P, –pw:指定密码用于代理认证,使用此选项时必须有有效的用户名。

-q, –qos:指定消息的服务质量,可以为0,1,2,默认是0.

–quiet:如果指定该选项,则不会有任何错误被打印,当然,这排除了无效的用户输入所引起的错误消息。

-r, –retain:如果指定该选项,该条消息将被保留做为最后一条收到的消息。下一个订阅消息者将能至少收到该条消息。

-s, –stdin-file:从标准输入接收传输的消息内容,所有输入做为一条消息发送。

-t, –topic:指定消息所发布到哪个主题。

-u, –username:指定用户名用于代理认证。

–will-payload:如果指定该选项,则万一客户端意外和代理服务器断开,则该消息将被保留在服务端并发送出去,该选项必须同时用–will-topic指定主题。

–will-qos:指定Will的服务质量,默认是0.必须和选项 –will-topic同时使用.

–will-retain:如果指定该选项,则万一客户端意外断开,已被发送的消息将被当做retained消息。必须和选项 –will-topic同时使用.

–will-topic:指定客户端意外断开时,Will消息发送到的主题。

mosquitto_sub(订阅)的用法

用法:

mosquitto_sub [-c] [-d] [-h hostname] [-i client_id] [-I client id prefix] [-k keepalive time] [-p port number] [-q message QoS] [--quiet] [-v] [ -u username [-Ppassword] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] -t message topic ...

  

命令:

mosquitto_sub 订阅到主题,接收到消息时打印 
选项:

-c, –disable-clean-session:禁止’clean session’选项,即如果客户端断开连接,这个订阅仍然保留来接收随后到的QoS为1和2的消息,当改客户端重新连接之后,它将接收到已排在队列中的消息。建议使用此选项时,客户端id选项设为–id

-d, –debug:开启debug选项

-h, –host:说明所连接到的域名,默认是localhost

-i, –id:客户端的ID号,如果没有指定,默认是mosquitto_pub_加上客户端的进程id,不能和–id_prefix同时使用。

-I, –id-prefix:指定客户端ID的前缀,与客户端的进程ID连接组成客户端的ID,不能喝–id同时使用。

-k, –keepalive:给代理发送PING命令(目的在于告知代理该客户端连接保持且在正常工作)的间隔时间,默认是60s

-p, –port:说明客户端连接到的端口,默认是1883

-P, –pw:指定密码用于代理认证,使用此选项时必须有有效的用户名。

-q, –qos:指定消息的服务质量,可以为0,1,2,默认是0.

–quiet:如果指定该选项,则不会有任何错误被打印,当然,这排除了无效的用户输入所引起的错误消息。

-t, –topic:指定订阅的消息主题,允许同时订阅到多个主题

-u, –username:指定用户名用于代理认证。

-v, –verbose:冗长地打印收到的消息。若指定该选项,打印消息时前面会打印主题名——“主题 消息内容”,否则,只打印消息内容

–will-payload:如果指定该选项,则万一客户端意外和代理服务器断开,则该消息将被保留在服务端并发送出去,该选项必须同时用–will-topic指定主题。

–will-qos:指定Will的服务质量,默认是0.必须和选项 –will-topic同时使用.

–will-retain:如果指定该选项,则万一客户端意外断开,已被发送的消息将被当做retained消息。必须和选项 –will-topic同时使用.

–will-topic:指定客户端意外断开时,Will消息发送到的主题。

报文种类

1.连接请求(CONNECT)

当一个从客户端到服务器的TCP/IP套接字连接被建立时,必须用一个连接流来创建一个协议级别的会话。

2.连接请求确认(CONNECTACK)

连接请求确认报文(CONNECTACK)是服务器发给客户端,用以确认客户端的连接请求

3.发布报文(PUBLISH)

客户端发布报文到服务器端,用来提供给有着不同需求的订阅者们。每个发布的报文都有一个主题,这是一个分层的命名空间,他定义了报文来源分类,方便订阅者订阅他们需要的主题。订阅者们可以注册自己的需要的报文类别。

4.发布确认报文(PUBACK)

发布确认报文(PUBACK)是对服务质量级别为1的发布报文的应答。他可以是服务器对发布报文的客户端的报文确认,也可以是报文订阅者对发布报文的服务器的应答。

5.发布确认报文(PUBREC)

PUBREC报文是对服务质量级别为2的发布报文的应答。这是服务质量级别为2的协议流的第二个报文。PUBREC是由服务器端对发布报文的客户端的应答,或者是报文订阅者对发布报文的服务器的应答。

6.发布确认报文(PUBREL)

PUBREL是报文发布者对来自服务器的PUBREC报文的确认,或者是服务器对来自报文订阅者的PUBREC报文的确认。它是服务质量级别为2的协议流的第三个报文。

7.确定发布完成(PUBCOMP)

PUBCOMP报文是服务器对报文发布者的PUBREL报文的应答,或者是报文订阅者对服务器的PUBREL报文的应答。它是服务质量级别为2的协议流的第四个也是最后一个报文。

8.订阅命名的主题(SUBSCRIBE)

订阅报文(SUBSCRIBE)允许一个客户端在服务器上注册一个或多个感兴趣的主题名字。发布给这些主题的报文作为发布报文从服务器端交付给客户端。订阅报文也描述了订阅者想要收到的发布报文的服务质量等级。

9.订阅报文确认(SUBACK)

当服务器收到客户端发来的订阅报文时,将发送订阅报文的确认报文给客户端。一个这样的确认报文包含一列被授予的服务质量等级。被授予的服务质量等级次序和对应的订阅报文中的主题名称的次序相符。

10.退订命名的主题(UNSUBSCRIBE)

退订主题的报文是从客户端发往服务器端,用以退订命名的主题。

11.退订确认(UNSUBACK)

退订确认报文是从服务器发往客户端,用以确认客户端发来的退订请求报文。

12.Ping请求(PINGREQ)

Ping请求报文是从连接的客户端发往服务器端,用来询问服务器端是否还存在。

13.Ping应答(PINGRESP)

Ping应答报文是从服务器端发往Ping请求的客户端,对客户端的Ping请求进行确认。

14.断开通知(DISCONNECT)

断开通知报文是从客户端发往服务器端用来指明将要关闭它的TCP/IP连接,他允许彻底地断开,而非只是下线。如果客户端已经和干净会话标志集联系,那么所有先前关于客户端维护的信息将被丢弃。一个服务器在收到断开报文之后,不能依赖客户端关闭TCP/IP连接。

MQTT--mosquitto使用详解的更多相关文章

  1. mosquitto配置文件详解

    安装完成之后,所有配置文件会被放置于/etc/mosquitto/目录下,其中最重要的就是Mosquitto的配置文件,即mosquitto.conf,以下是详细的配置参数说明. # Config f ...

  2. Paho -物联网 MQTT C Cient的实现和详解

    概述   在文章Paho - MQTT C Cient的实现中,我介绍了如何使用Paho开源项目创建MQTTClient_pulish客户端.但只是简单的介绍了使用方法,而且客户端的结果与之前介绍的并 ...

  3. 理论经典:TCP协议的3次握手与4次挥手过程详解

    1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...

  4. Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...

  5. 了解iOS消息推送一文就够:史上最全iOS Push技术详解

    本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...

  6. 【phpMQTT】phpMQTT详解以及处理使用过程中内存耗死问题

    参考文档: https://www.cloudmqtt.com/docs-php.html github下载 : https://github.com/bluerhinos/phpMQTT Cloud ...

  7. 消息中间件ActiveMQ使用详解

    消息中间件ActiveMQ使用详解 一.消息中间件的介绍 介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成. 特点(作用) ...

  8. RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

    消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以 ...

  9. MQTT--Paho C Client 的实现和详解

    概述  在文章Paho - MQTT C Cient的实现中,我介绍了如何使用Paho开源项目创建MQTTClient_pulish客户端.但只是简单的介绍了使用方法,而且客户端的结果与之前介绍的并不 ...

  10. ActiceMQ详解

    1. MQ理解 1.1 MQ的产品种类和对比 MQ即消息中间件.MQ是一种理念,ActiveMQ是MQ的落地产品. 消息中间件产品 各类MQ对比 Kafka 编程语言:Scala 大数据领域的主流MQ ...

随机推荐

  1. 使用两个 Windows 窗体 DataGridView 控件创建一个主/从窗体

    使用 DataGridView 控件的一种最常见方案是“主/详细信息”窗体,这样的窗体可显示两个数据库表之间的父/子关系.如果选择主表中的行,将导致以相应的子数据来更新详细信息表. 主/详细信息窗体很 ...

  2. 这篇 感觉很实用--DJANGO ORM

    Django之model F/Q以及多对多操作 http://www.cnblogs.com/ccorz/p/5882400.html model之F/Q操作 F操作,使用查询条件的值 打个比方吧,有 ...

  3. UVA 1347 Tour 【双调旅行商/DP】

    John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts vi ...

  4. HDU1016 Prime Ring Problem (回溯 + 剪枝)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5398684.html 题意: 给你一个数字N(N <= 20),要求你把这N个数组成一个环,环内的数字不能重复,左右 ...

  5. Codeforces 825E - Minimal Labels

    825E - Minimal Labels 题意 给出 m 条有向边,组成有向无环图,输出一个 1 到 n 组成的排列,每个数只能出现一次,表示每个点的标号.如果有边 \((u, v)\) 那么 \( ...

  6. luogu P1091 合唱队形

    题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2, ...

  7. yum安装openresty

    在群里看到春哥发的,先记录下来.一切都以官网为准,以后安装部署生态会越来越完善的. OpenResty 官方现在开始维护自己的打包虚机集合了,新的 linux 包仓库正在陆续登陆 openresty. ...

  8. 利用json2csharp快速生成C#类

    有的时候,我们需要将一些Json格式的字符串反序列化为.Net对象,虽然有强大的Json.net可以帮助我们快速完成这一操作.但首先仍需要我们根据Json数据手动编写C#类,这也是一件比较枯燥而容易出 ...

  9. MySQL索引,MySQL性能分析及explain的使用,分析SQL查询性能

    可以使用explain来分析MySQL查询性能,举例如下: 1.使用explain语句去查看分析结果 如 explain select * from test1 where id=1; 会出现: id ...

  10. SQL Server 2017 EXPRESS 安装 SQLCMD 设置远程连接

    1.配置管理器内启动TCP/IP协议(端口改为1433)以及加入防火墙允许 2.进入本地实例: cmd Microsoft Windows [版本 ] (c) Microsoft Corporatio ...