为了方便演示,我这里就用windows环境下安装的mosquitto进行操作,操作方式和linux系统下是一样的。

一、windows安装mosquitto

  1. 下载mosquitto
    mosquitto官网:https://mosquitto.org/download/

    下载完成后,双击安装即可

  2. 安装完成后的文件目录

  3. 添加环境变量

  4. 配置Mosquitto账号密码
    在cmd中输入

# 用户名
mosquitto_passwd -c pwfile 用户名 # 密码
mosquitto_passwd -c pwfile bees

mosquitto使用

在Windows PowerShell中执行一下命令

# 启动服务器
.\mosquitto.exe -c mosquitto.conf -v # 订阅者
.\mosquitto_sub.exe -t "temp" # 发布者
.\mosquitto_pub.exe -t "temp" -m "aaaaaaaaa"
  1. mosquitto服务器使用

  2. mosquitto订阅者使用

  3. mosquitto发布者使用

  4. 常用选项

  • -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常用配置

在mosquitto.conf文件中更改默认配置

# 允许匿名用户
#allow_anonymous true # 绑定ip和端口
#listener 1883 192.168.2.100
#listener 1883 0.0.0.0 # 允许的最大连接数,-1表示没有限制
#max_connections -1

注意:‘bind_address’和‘port’已经过期,需要使用listener

参考文献

mosquitto 用法与简介:http://blog.chinaunix.net/uid-29616823-id-4852120.html
MQTT服务器(Broker) - mosquitto配置文件详解:https://www.cnblogs.com/shuiche/p/12630591.html
Mosquitto 使用说明:https://www.cnblogs.com/yueli/p/7478543.html

mosquitto使用与常用配置的更多相关文章

  1. Centos7-mqtt消息中间件mosquitto的安装和配置

    在以前发布的博客"菜鸟是如何打造智能家居系统的"文章最后我提到了使用MQTT协议作为云平台和设备之间的通信协议以达到消息传递的实时性,手机的消息推送也大多基于这种平台,首先搬来一段 ...

  2. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  3. 【转】logback logback.xml常用配置详解(三) <filter>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  4. 【转】logback logback.xml常用配置详解(二)<appender>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  5. 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  6. 【转】logback 常用配置详解(序)logback 简介

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  7. logback 常用配置详解(二) <appender>

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  8. SpringBoot常用配置简介

    SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...

  9. .net学习笔记----WebConfig常用配置节点介绍

    一.配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config.在WinForm程序中配置文件一般是App.config.在Asp.net中一般默认是 ...

随机推荐

  1. Java的jstack命令使用详解

    jstack命令简介 jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具.线程快照一般被称为th ...

  2. 6月5日 python复习 模块

    """1. os和sys都是干什么的?2. 你工作中都用过哪些内置模块?3. 有没有用过functools模块?"""1. os 系统相关 ...

  3. FPGA设计流程

    今天学习了FPGA设计流程的视频,我理解要做一个完整的FPGA系统,所要经历的步骤,先将它简单总结如下: 我在对上面的流程图进行解释: 第一:设计定义就是我们这个FPGA系统或者FPGA设计所要实现的 ...

  4. uniapp小程序图片前端压缩上传

    目录 1,前言 2,实现代码 1,前言 这次项目中做了一个图片上传,要求是大于2MB的就压缩成2MB一下的再上传,我这边利用了uniapp的文件接口,使用canvas做了一个压缩上传的功能,目前已上线 ...

  5. Citus 分布式 PostgreSQL 集群 - SQL Reference(查询分布式表 SQL)

    如前几节所述,Citus 是一个扩展,它扩展了最新的 PostgreSQL 以进行分布式执行.这意味着您可以在 Citus 协调器上使用标准 PostgreSQL SELECT 查询进行查询. Cit ...

  6. python 常用模块函数使用

    1.collections模块在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict ...

  7. 说说对 SQL 语句优化有哪些方法?(选择几条)

    1.Where 子句中:where 表之间的连接必须写在其他 Where 条件之前,那些可 以过滤掉最大数量记录的条件必须写在 Where 子句的末尾.HAVING 最后. 2.用 EXISTS 替代 ...

  8. CHAR 和 VARCHAR 的区别?

    1.CHAR 和 VARCHAR 类型在存储和检索方面有所不同 2.CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255 当 CHAR 值被存储时,它们被用空格填充到特定长度,检索  ...

  9. java-StringBuilder

    一个可变的字符序列. String类的对象内容不可以改变,所以每当进行字符串恶拼接时,总是会在内存中创建一个新的对象,所以经常改变内容的字符串 所以最好不要用String,因为每次生成的对象都会对系统 ...

  10. Redis 集群的主从复制模型是怎样的?

    为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所 以集群使用了主从复制模型,每个节点都会有 N-1 个复制品.