1.服务端软件对比

  https://github.com/mqtt/mqtt.github.io/wiki/servers

名称(点名进官网) 特性 简介 收费 支持的客户端语言

IBM MQ

  • 完整的MQTT v3.1
  • IBM MQ
  • JMS

企业级

IBM MQ(之前称作 WebSphere MQ)是一个安全的消息传递软件,

可以快速地在应用、系统和服务之间传递消息数据。

试用  c、java

IBM MessageSight

  • MQTT V3.1.1
  • QoS 0、1 、 2 - 竭尽全力、至少一次和只有一次
  • 支持带有 JavaScript API 的 MQTT 插件
  • 支持android/ios
  • 支持连接大量设备。
  • 针对持久性和非持久性消息交付高吞吐量。
  • JMS、WebSockets
  • 支持移动应用获得对JEE)企业应用的可扩展访问权。

企业级

专业的物连网服务端设备。

收费   java、c、JavaScript、ObjectiveC

Really Small Message Broker

  • MQTT v3.1

最小,最轻量的服务端。

早期版本只占80 KB硬盘空间和200k内存。

现在已经合并到Eclipse Mosquitto

免费  c
Moquette
  • QoS 0,QoS 1 和 QoS 2

Moquette 使用 Netty 作为协议编码和解码,

协议逻辑本质上是单线程,并且通过 LMAX disruptor

的循环缓冲器独立于前端连接器部分。

免费  java
Mosquitto
  • MQTT 3.1.1、MQTT 3.1
专为物连网设备和手机设计的软件 免费  c/c++、java、python
Eclipse Paho
  • 综合,全面。
开源mqtt服务端、客户端软件。 免费 

比较全面

Emitter
  • 消息可持久化。
  • 支持消息过滤,
  • 消息回放。
  • 默认2进制消息,可配置文本消息
  • 文档详细
.net写的快速,安全,实时服务端 免费

JAVA 、JAVASCRIPT、

TYPESCRIPT .NET / C# 、

GO、C/C++、PYTHON

emqttd(国内)
  • 完整支持MQTT V3.1/V3.1.1协议规范
  • 扩展支持WebSocket、Stomp、CoAP、

    MQTT-SN或私有TCP协议

  • 双节点负载均衡或多节点分布式集群
  • 中文文档详细
国内分布式开源物联网MQTT消息服务器 免费/收费

C/C++、Erlang、Java、

Javascrip、tObjective-C/Swift、

PHP、Python、Ruby

Xively   目前是beta版本,不推荐      
Yunba 国内
  • 实时统计、实时图表
  • 实时消息
  • 中文文档详细
  • 已经封装好android,ios等sdk
强调实时通讯  免费/收费  java,javascript,obj-c,php,c
RabbitMQ
  • 可分部式部属
  • 支持TLS and LDAP.
  • 管理和监视有ui界面

企业级

使用率较高的轻量级mqtt服务端,是一个在

AMQP基础上完成的,可复用的消息系统。

MPL java、Erlang、.net

Apache ActiveMQ

  • MQTT v3.1、AMQP v1.0、Stomp 、OpenWire
  • JMS provider
  • 支持持久化会话
  • 消息组、虚拟目标、通配符、
  • 支持spring
  • 服务端ui管理
  • 通过多种流行j2ee服务器测试

TomEEGeronimo, JBoss, GlassFish and WebLogic)

强壮、快速、多客户端语言的mqtt服务端软件。 免费

Java, C, C++, C#, Ruby,

Perl, Python, PHP

Apache ActiveMQ Artemis

  • AMQP、MQTT、STOMP、HornetQ
  • 支持大包消息
  • 主题继承
  • 消息组、消息转移
ActiveMQ的子项目,性能比较优异。 免费 同上
Apache Apollo   从2015年7月开始已经弃用       
HiveMQ
  • QoS 0 and QoS 1
  • 100% mqtt
  • Websockets
  • 企业级安全性

企业级

mqtt服务端软件

试用   
Mosca
  • MQTT 3.1 and 3.1.1
  • QoS 0 and QoS 1
node.js写的MQTT服务端软件 免费 JavaScript
Loop
  • MQTT 3.1
  • JMS
云端MQTT     
VerneMQ
  • 高并发
  • 实时
  • 适应多种手机和嵌入式设备

企业级

高性能、分布式服务端软件

免费 

Erlang, Elixir, Lua, and

any programming language

that can implement HTTP WebHooks.

HBMQTT
  • QoS 0, QoS 1 and QoS 2
  • 自动重连
  • SSL 、TCP
python写的mqtt服务端 免费  python
vertx-mqtt-broker
  • 3.1.1 and 3.1
  • QoS 0, 1 and 2
  • OAuth2
  • WebSocket
  • TLS

It's not a fully featured MQTT broker

but can be used for building something like

that or for protocol translation (MQTT <--> ?).

免费  vert.x 

2.客户端软件对比

  https://github.com/mqtt/mqtt.github.io/wiki/libraries

  下表中并不是完全支持mqtt所有特性,如:有的只支持qos0,有的不支持验证,而Espduino 已经停止更新等。使用前要看下它们最新的官方文档。

2.1 特殊硬件mqtt客户端库

硬件,点名字可接入相关连接

特性

开源协议

最后更新(2017查询)
Arduino
  • 发布QoS 0
  • 订阅QOS0、QOS1
  • 默认心跳15s
  • 默认MQTT 3.1.1

MIT License

 2017-06
Espduino
  • QoS1,2,3
  • 多连接
  • SSL

MIT License

2016-10 
mbed
  • 只有2个cpp和1个.h
 未声明 2010-10
mbed (simple port of the Arduino pubsubclient)
  • 未找到相关文档
 未声明 2013-08
mbed (native implementation)

c++版本的库的特性与之相同

 未声明 2017-05
mbed (Paho Embedded C++ port) 同上  未声明 2015-08
mbed (Paho Embedded C port) 同上  未声明 2015-08
Nanode
  • 只支持QoS0
  • 最大127K
 未声明 2011
Netduino
  • 只有QoS 0
  • 可读性好
  • 性能好,文件小

BSD 2-Clause

BSD 3-Clause

2012-01
M2MQTT  连接失效    

2.2 c/c++ mqtt客户端库对比

软件库 特性 开源协议 最后更新(2017查询)
Eclipse Paho C  EPL 2017-07
Eclipse Paho Embedded C    EPL 2017-07
libmosquitto
  • mqtt3.0 mqtt3.1.1
EPL/EDL 2017-07
libemqtt    GLPL 2014-10
wolfMQTT
  • SSL/TLS
  • MQTT v3.1.1
  • QoS 0-2

GNU General Public License v2.0

2017-06
Eclipse Paho C++

Eclipse Public License v1.0

Eclipse Distribution License v1.0

2017-07
libmosquittopp
  • MQTT v3.1/v3.1.1
EPL/EDL 2017-07
Eclipse Paho Embedded C++ EPL / EDL  2017-07

2.3 java mqtt客户端库对比

java库   特性  开源协议  最后更新日期(2017查询)
Eclipse Paho Java

  

 EPL 2017-08
Xenqtt
  • Qos 0 QoS 1
Apache License Version 2.0  2013-12
MeQanTT
  • 只QoS 0
Apache License 2.0 2012-11
Fusesource mqtt-client
  • SSL
  • 3.1 and 3.1.1,默认3.1
ASL 2.0 2016-03
moquette
  • QoS 0, QoS 1 and QoS 2.
Apache License 2.0 2017-08

MA9B

  • 3.1 and 3.1.1
  • OpenSSL
  • SHA-2
2014-08 
IA92  需要 WebSphere Business Integration Message Broker 收费  
vertx-mqtt-client
  • mqtt 3.1.1
  • Qos 0 ,1 ,2
Apache License 2.0 2017-08
Qatja
  • MQTT 3.1.1
  • android客户端
  • android服务组件
- 2017-07

2.4 其它语言

语言

连接

语言

连接

Actionscript

Javascript

Bash

LotusScript

Clojure

Lua

Dart

.NET

Delphi

Objective-C

Erlang

OCaml

Elixir

Perl

Go

PHP

Haskell

Python

REXX

Prolog

Ruby

Qt

Shell Script

Swift

Tcl

   

3.Android上mqtt协议客户端示例

  https://github.com/mqtt/mqtt.github.io/wiki/mqtt_on_the_android_platform

Android MQTT Push 使用Eclipse Paho 客户端的android消息推送示例
Mosquitto 一个基于比较完整的android示例
MQTT and Android  使用ibm MqttClient的示例
First Android Service 简单示例,可参数内存较少。
Push Notifications for Android using MQTT 国内打不开
HelloMQTT  国内打不开
ListMQTT  国内打不开
Using MQTT with Android 中文 ibm提供的示例,使用eclipse在android2.2上,服务端是WebSphere MQ Telemetry
An Android group chat app using MQTT 打不开
Android with ActiveMQ and MQTT ActiveMQ+fusesource/mqtt-client 示例
Android-Paho-MQTT-Service  一个 使用Paho  MQTT Client写的android服务组件
mqttitude  打不开
MQTT Widget goole play上的一个mqtt apk
Power profiling MQTT on Android 国内打不开
Power profiling HTTPS Long Polling vs MQTT with SSL on Android 国内打不开

采用MQTT协议实现android消息推送(2)MQTT服务端与客户端软件对比、android客户端示列表的更多相关文章

  1. android手机推送视频到服务端

    项目需求,android手机向服务器推送视频.苦战几个星期终于实现,现记录下来以免以后忘记. 没做过Java,也没做过Android开发,只能现学现卖.在网上找了下搭建开发a  ndroid环境资料, ...

  2. Android消息推送(二)--基于MQTT协议实现的推送功能

    国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...

  3. Android消息推送完美方案[转]

    转自 Android消息推送完美方案 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来 ...

  4. Android消息推送完美方案

    转自:http://bbs.hiapk.com/thread-4652657-1-1.html 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原 ...

  5. Android消息推送完美解决方案全析

    推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来和大家共同探讨一种Android消息推 ...

  6. 使用GCM服务(Google Cloud Messaging)实现Android消息推送

    最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...

  7. Android消息推送的服务端

    2.Android消息推送 MQTT服务器采用mosquito  http://mosquitto.org/ PHP管理包采用phpmqttclient:https://github.com/toku ...

  8. android 消息推送

    android 消息推送 极光推送百度云推送(语音)友盟消息推送

  9. Android消息推送——JPush极光推送

    刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...

随机推荐

  1. js实现在表格中删除和添加一行

    <!DOCTYPE html><html> <head> <title> new document </title> <meta ht ...

  2. what is diff. b/w app state & session state

    Application state is a data repository available to all classes in an ASP.NET application. Applicati ...

  3. HttpUploader2 -chrome 45+安装教程

    HttpUploader2-Chrome 45+安装说明 步骤如下: a.先安装HttpUploader2.exe,HttpUploader2.exe为插件集成安装包. b.再安装HttpUpload ...

  4. 【Head First Java 读书笔记】(四)对象的行为

    状态影响行为,行为影响状态 对象有状态和行为 类所描述的是对象知道什么和执行什么. 同一类型的每个对象能够有不同的方法行为吗? 任一类的每个实例都带有相同的方法,但是方法可以根据实例变量的值来表现不同 ...

  5. 命令(Command)模式

    命令(Command)模式:命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象 /* * 客户(Client)角色:创建了一个具体命令(ConcreteComma ...

  6. 20145218张晓涵_Exp5 MSF基础应用

    20145218张晓涵_Exp5 MSF基础应用 实验原理 MS08-067漏洞描述 MS08-067漏洞的全称为"Windows Server服务RPC请求缓冲区溢出漏洞",如果 ...

  7. ubuntu 下python安装及hello world

    //@desn:ubuntu 下python安装及hello world //@desn:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> ...

  8. 国外物联网平台(8):Telit

    国外物联网平台(8) ——Telit 马智 定位 We Bring IoT to Life Telit提供世界上最全面的高性能物联网模块.连接服务和软件. 产品体系 模块 Telit提供丰富专业的物联 ...

  9. 如何让win32对话框居中显示

    在编写win32对话框程序,如果是用visual studio建的win32对话框程序,默认是不居中显示的,about 对话框也是这样的,用资源编辑器打开,可以在属性里面设置居中center 为tur ...

  10. 《C#多线程编程实战》2.4 SemaphoreSlim

    这个简单多了. 理解也是很好理解. 比上一个mutex好理解多了. 这个SemaphoreSlim是干什么呢? 就是限制线程的来访问. 好比说一次只有两个,一次只有三个  这样的线程来访问资源. 有点 ...