为了方便演示,我这里就用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. LGP5795题解

    首先 \(k\) 大容易让我们想到 主席树&树套树&整体二分,而异或又让我们想到 01-Trie. 所以就有一个很明显的二分,二分一个 mid 看有多少个数不大于 mid. 然后发现 ...

  2. MASA Blazor入门这一篇就够了

    1.什么是Blazor? 有什么优势? ASP.NET Core Blazor 简介 Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScr ...

  3. 前端好用API之Fullscreen

    前情 在前端开发需求中,特别网页有视频需求时,需要做视频全屏功能,或者在某些可视化大屏项目也要做全屏. Fullscreen介绍 让你可以简单地控制浏览器,使得一个元素与其子元素,如果存在的话,可以占 ...

  4. 网络监听FTP明文口令实验

    一. 开启环境 1.登录FTP服务器. 2.启动FTP服务器 (1)打开FTP服务器.点击最左面绿色按钮,启动ftp服务器. (2)可以看到以下变化:ftp服务器启动.显示"FTP服务在线& ...

  5. SpringCloudAlibaba 微服务讲解(三)Nacos Discovery-服务治理

    3.1 服务治理 先来思考一个问题,通过上一章的操作,我们已经实现微服务之间的调用,但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需 ...

  6. dev编译器兼容设置及字符串的识别问题

    #include<bits/stdc++.h> using namespace std; bool cmp(char a,char b) { return a>b; } //int ...

  7. windows 访问 CentOS 的防火墙及其 网关开放

    1.防火墙开放端口 firewall-cmd --zone=public --add-port=8848/tcp --permanent firewall-cmd --list-ports 开放cen ...

  8. C# winform自己的窗体不抢夺其他窗体的光标

    在你的form里加入: protected override CreateParams CreateParams { get { var result = base.CreateParams; ; r ...

  9. CopyOnWriteArrayList 可以用于什么应用场景?

    CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这 个列表时,不会抛出 ConcurrentModificationException.在 CopyOnWri ...

  10. 说一下 jvm 有哪些垃圾回收器?

    新生代收集器: SerialParNewParallel Scavenge 老年代收集器: Serial OldCMSParallel Old 堆内存垃圾收集器: G1 参考链接:JVM常见的垃圾回收 ...