一、MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一个基于客户端-服务端的消息发布/订阅传输协议。它是一种基于发布/订阅(publish/subscribe)模式的"轻量级"构建于TCP/IP协议上的通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,其在物联网、小型设备、移动应用等方面有着较广泛的应用。
二、MQTT Broker
broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。
MQTT支持众多broker实现方式,具体参见MQTT官网说明:https://mqtt.org/software/,broker对比参见https://www.jianshu.com/p/cf91f4bea071,为方便阅读,从文档摘图如下:(若有侵权请作者联系我删除):
本文主要介绍 moquette 的本地安装启动方式;
三、Moquette
3.1 源码地址
本文样例代码地址;https://github.com/andsel/moquette
其他git的地址参见: https://github.com/milliondreams/moquette-mqtt
3.2 代码架构
3.3 本地启动broker
将项目代码导入开发工具(本文使用idea工具),服务启动类代码参见:io.moquette.broker.Server
代码如下:
/*
* Copyright (c) 2012-2018 The original author or authors
* ------------------------------------------------------
* All rights reserved. This progr