mqtt(1):java解决方案,使用jmqtt 进行项目开发

前言


mqtt 是比较好的 物联网解决方案。

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

2、对负载内容屏蔽的消息传输;

3、使用 TCP/IP 提供网络连接;

4、有三种消息发布服务质量:

5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;

6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

本文的原文连接是:https://blog.csdn.net/freewebsys/article/details/87437057
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于jmqtt


找了几个解决方案:
https://github.com/mqtt/mqtt.github.io/wiki/servers

总结的比较全面的文章。里面找了几个慢慢的实验。
啥语言开发的都有,有java的,python的,golang的,还有c的。
这里先找一个java的 jmqtt 试试。
https://github.com/Cicizz/jmqtt
项目下载地址:
https://github.com/Cicizz/jmqtt/releases
作者说 master 上面还在进行功能改进,用releases的版本使用。
国人开发的。
思路逻辑都比较好理解:
https://github.com/Cicizz/jmqtt/blob/master/README_CN.md
还有中文的资料可以看。

2,使用


下载代码之后直接进行编译就可以了。

在根目录执行:mvn -Ppackage-all -DskipTests clean install -U
在 jmqtt-distrubution/target/jmqtt/bin 目录下直接运行 jmqttstart脚本即可

需要注意的是一定要加上 -Ppackage-all 的,在模块 jmqtt-distrubution中,依赖这个参数进行打包。

最终的目录就是:

mqtt(1):java解决方案,使用jmqtt 进行项目开发_第1张图片

其中还有个tar zip 包,可以用来服务器部署。

3,测试工具mqttbox


可以使用 mqttbox 进行测试,gui的工具。使用起来也非常的方便。
使用nodejs开发的gui 工具。非常不错。本来想本地修改下,但是发现nodejs 折腾起来不方便呢。
http://workswithweb.com/html/mqttbox/downloads.html
github地址:
https://github.com/workswithweb/MQTTBox

支持 win mac linux 系统,使用的是Electron 做 gui 框架开发的。
使用也特别的简单。

mqtt(1):java解决方案,使用jmqtt 进行项目开发_第2张图片
批量测试,,最多支持 10个客户端。

mqtt(1):java解决方案,使用jmqtt 进行项目开发_第3张图片

3,总结


jmqtt进行了一个简单的测试,可以很方便的搭建一个 java 的服务端程序。
而且是国人开发的,遇到问题,还发可以在群里面吼一吼。
先研究到这里。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/87437057

博主地址是:http://blog.csdn.net/freewebsys

你可能感兴趣的:(mqtt)