MQTT服务器:在Windows下搭建Apollo服务器

MQTT原理介绍

**客户端:**发布者(Publish)、订阅者(SubScribe),客户端有ID,ID冲突会挤掉先连接客户端。
**服务器端:**代理(Broker)
**消息:**主题(Topic)+负载(payload)

在这里插入图片描述
在这里插入图片描述

QQ用户2(账号QQ1000)向QQ用户1(QQ8888)发送消息“Hello World”.
发送者:QQ用户2
订阅者:QQ用户1
消息:QQ8888+”Hello World”.

消息发送至服务器,服务器查找QQ8888对应的用户后,
发送信息给QQ用户2

Mqtt协议快速了解:
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议, 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有:

  1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
    对负载内容屏蔽的消息传输。
  2. 使用 TCP/IP 提供网络连接。
  3. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
  4. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
    有三种消息发布服务质量:
    1、“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
    2、“至少一次”,确保消息到达,但消息重复可能会发生。
    3、“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

使用Apollo搭建MQTT服务器步骤:
1、下载Apollo服务器并解压,运行E:\Apollo\apache-apollo-1.7.1\bin\apollo.cmd,输入create (名字)(名字任意取,这里是根据官网介绍的来取的)创建服务器实例,服务器实例包含了所有的配置,运行时数据等,并且和一个服务器进程关联。我这里是使用的是mybroker2
注:我的电脑是win7,可以直接在文件夹下按住shift键的同时,鼠标右击“在此处打开命令窗口 ”,就会出现窗口
图1

2、创建实例之后会在bin目录下生成mybroker2文件夹

3、进入E:\Apollo\apache-apollo-1.7.1\bin\mybroke2\bin目录,在CMD输入命令「apollo-broker.cmd run」,可以使用TAB键自动补全,运行后输出信息如下:

图2

MQTT服务器TCP连接端口:tcp://0.0.0.0:61613

后台Web管理页面:https://127.0.0.1:61681/或 http://127.0.0.1:61680/

4、其 中E:\Apollo\apache-apollo-1.7.1\etc\apollo.xml文件下是配置服务器信息的文件,E:\Apollo\apache-apollo-1.7.1\etc\users.properties文件包含连接MQTT服务器时用到的用户名和密码,初始默认帐号是admin,密码password;
在浏览器输入http://127.0.0.1:61680/,然后输入默认账号密码admin 密码:password

图3

图4

5、很多教程说到上面就没了,然后你试着用连接发现根本连不上,其实打开apollo.xml仔细看你会发现少配置了一个选项导致的,可以直接在web页面改
这两处取消注释就可以连接上了,修改后保存会重新载入配置文件,这其实是把链接用户的授权认证的关闭了,所以就不用密钥认证就能进
图4
图5

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

const

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值