采用MQTT协议实现android消息推送(2)MQTT服务端与客户端软件对比、android客户端示列表
1.服务端软件对比
https://github.com/mqtt/mqtt.github.io/wiki/servers
| 名称(点名进官网) | 特性 | 简介 | 收费 | 支持的客户端语言 |
|
企业级 IBM MQ(之前称作 WebSphere MQ)是一个安全的消息传递软件, 可以快速地在应用、系统和服务之间传递消息数据。 |
试用 | c、java | |
|
企业级 专业的物连网服务端设备。 |
收费 | java、c、JavaScript、ObjectiveC | |
|
最小,最轻量的服务端。 现在已经合并到Eclipse Mosquitto |
免费 | c | |
| Moquette |
|
Moquette 使用 Netty 作为协议编码和解码, 协议逻辑本质上是单线程,并且通过 LMAX disruptor 的循环缓冲器独立于前端连接器部分。 |
免费 | java |
| Mosquitto |
|
专为物连网设备和手机设计的软件 | 免费 | c/c++、java、python |
| Eclipse Paho |
|
开源mqtt服务端、客户端软件。 | 免费 |
比较全面
|
| Emitter |
|
.net写的快速,安全,实时服务端 | 免费 |
JAVA 、JAVASCRIPT、 TYPESCRIPT .NET / C# 、 GO、C/C++、PYTHON |
| emqttd(国内) |
MQTT-SN或私有TCP协议
|
国内分布式开源物联网MQTT消息服务器 | 免费/收费 |
C/C++、Erlang、Java、 Javascrip、tObjective-C/Swift、 PHP、Python、Ruby |
| Xively | 目前是beta版本,不推荐 | |||
| Yunba 国内 |
|
强调实时通讯 | 免费/收费 | java,javascript,obj-c,php,c |
| RabbitMQ |
|
企业级 使用率较高的轻量级mqtt服务端,是一个在 AMQP基础上完成的,可复用的消息系统。 |
MPL | java、Erlang、.net |
|
强壮、快速、多客户端语言的mqtt服务端软件。 | 免费 |
Java, C, C++, C#, Ruby, Perl, Python, PHP |
|
|
ActiveMQ的子项目,性能比较优异。 | 免费 | 同上 | |
| Apache Apollo | 从2015年7月开始已经弃用 | |||
| HiveMQ |
|
企业级 mqtt服务端软件 |
试用 | |
| Mosca |
|
node.js写的MQTT服务端软件 | 免费 | JavaScript |
| Loop |
|
云端MQTT | ||
| VerneMQ |
|
企业级 高性能、分布式服务端软件 |
免费 |
Erlang, Elixir, Lua, and any programming language that can implement HTTP WebHooks. |
| HBMQTT |
|
python写的mqtt服务端 | 免费 | python |
| vertx-mqtt-broker |
|
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 |
|
MIT License |
2017-06 |
| Espduino |
|
MIT License |
2016-10 |
| mbed |
|
未声明 | 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 |
|
未声明 | 2011 |
| Netduino |
|
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 |
|
EPL/EDL | 2017-07 |
| libemqtt | GLPL | 2014-10 | |
| wolfMQTT |
|
GNU General Public License v2.0 |
2017-06 |
| Eclipse Paho C++ |
|
Eclipse Public License v1.0 Eclipse Distribution License v1.0 |
2017-07 |
| libmosquittopp |
|
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 |
|
Apache License Version 2.0 | 2013-12 |
| MeQanTT |
|
Apache License 2.0 | 2012-11 |
| Fusesource mqtt-client |
|
ASL 2.0 | 2016-03 |
| moquette |
|
Apache License 2.0 | 2017-08 |
|
- | 2014-08 | |
| IA92 | 需要 WebSphere Business Integration Message Broker | 收费 | |
| vertx-mqtt-client |
|
Apache License 2.0 | 2017-08 |
| Qatja |
|
- | 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客户端示列表的更多相关文章
- android手机推送视频到服务端
项目需求,android手机向服务器推送视频.苦战几个星期终于实现,现记录下来以免以后忘记. 没做过Java,也没做过Android开发,只能现学现卖.在网上找了下搭建开发a ndroid环境资料, ...
- Android消息推送(二)--基于MQTT协议实现的推送功能
国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...
- Android消息推送完美方案[转]
转自 Android消息推送完美方案 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来 ...
- Android消息推送完美方案
转自:http://bbs.hiapk.com/thread-4652657-1-1.html 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原 ...
- Android消息推送完美解决方案全析
推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来和大家共同探讨一种Android消息推 ...
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...
- Android消息推送的服务端
2.Android消息推送 MQTT服务器采用mosquito http://mosquitto.org/ PHP管理包采用phpmqttclient:https://github.com/toku ...
- android 消息推送
android 消息推送 极光推送百度云推送(语音)友盟消息推送
- Android消息推送——JPush极光推送
刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...
随机推荐
- 高级软件测试技术(测试管理工具实践day3)
昨天在晚上由于安装bugzilla中有一些小问题,并且需要手工安装很多perl模块 ppm install XXX(模块名称).一直到过了十二点就没有继续更博了.所以由今天更. 继昨天的安装问题之后 ...
- keydown、input 和 keyup 事件
keydown.keyup 属于键盘事件,input 属于文本事件. keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时触发. i ...
- android studio中使用recyclerview小白篇(四)
经过努力,我们的recyclerview终于可以使用了,但是装配上真实的数据后,发现左边的内容太长了,如果超过一行,左边内容和右边的内容竟然重叠在一起了,好是让人心塞啊,如下图 后来发现设置左边tex ...
- MVC上的jsonp扩展,解决跨域访问问题
总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpResult : System.Web.Mvc.JsonResult { object d ...
- AppIcon应用图标 and Launchimage启动图标的制作
1.制作软件 需要在AppStore里搜索:Appicons and Launchimages Lite 2.操作步骤 看图示意(三步) 1)选择资源源文件 2)选择需要应用的平台 3)选择生成的目标 ...
- day2学python 数据类型+深浅拷贝+循环
数据类型+深浅拷贝+循环 别的语言的数组 python不用定义 直接使用 color=['红','橙','黄','绿','青','蓝','紫'] print(color[1:3]) //打印[1,3) ...
- [SinGuLaRiTy] 复习模板-数据结构
[SinGuLaRiTy-1040] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 二维线段树 2D_Segment_Tree //示例:单 ...
- Scanner类的用法
Scanner类,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器. 用于扫描输入文本的实用程序.位于java.util包中. 使用Scanner接收键盘输入的字符,步骤: 1.导入Sca ...
- Spring AOP(面向切面编程)
一.AOP简介 1.AOP概念:Aspect Oriented Programming 面向切面编程 2.作用:本质上来说是一种简化代码的方式 继承机制 封装方法 动态代理 …… 3.情景举例 ①数学 ...
- Nginx+certbot 实现泛域名的https证书
yum -y install git git clone https://github.com/certbot/certbot cd certbot ./certbot-auto certonly ...




