Android开发笔记之《远程控制(MQTT|mosquitto) && (ProtocalBuffer | GRPC)》

Android推送方案分析(MQTT/XMPP/GCM): http://www.open-open.com/lib/view/open1410848945601.html
MQTT官网: http://mqtt.org/
MQTT协议简记: http://www.cnblogs.com/caca/p/mqtt.html
OSChina grpc document : http://doc.oschina.net/grpc?t=56831
高手对MQTT的理解: http://www.cnblogs.com/leeying/p/3791077.htm
高手对MQTT的经验之谈: http://www.blogjava.net/yongboy/archive/2015/01/11/422172.html
MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。

若初次接触MQTT协议,可先理解以下概念:
【MQTT协议特点】——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制。
【MQTT协议角色】——在RESTful架构的物联网系统,包含两个角色客户端和服务器端,而在MQTT协议中包括发布者,代理器(服务器)和订阅者。
【MQTT协议消息】——MQTT中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。
【MQTT协议主题】——MQTT中的主题可理解为相同类型或相似类型的消息集合

默认会监听一下端口:
1883: MQTT, 不加密
8883: MQTT, 加密
8884: MQTT, 加密, 客服端需要验证
8080: MQTT 通过WebSockets, 不加密

mosquitto ubuntu下编译和安装

Mosquitto的安装、配置、测试 (** 包含压力测试方法 **): http://blog.csdn.net/skykingf/article/details/46459857

先到官网 http://mosquitto.org/download/ 咱们下载最新的 包:http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz 切换到~,执行 wget http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz 然后 chmod 777 mosquitto-1.4.8.tar.gz 然后 tar -zxf mosquitto-1.4.8.tar.gz cd mosquitto-1.4.8 然后执行 make 可能会找不到 uuid头文件, sudo apt-get install uuid-dev 然后 进行make sudo make install 安装完毕后 在~目录下输入:mos 然后tab键按2下出现: mosquitto mosquitto_passwd mosquitto_pub mosquitto_sub 备注:在执行 mosquit的时候可能会出现找不到 so: sudo cp /usr/local/lib/libmosquitto.so.1


开启MQTT:

$ mosquitto start

停止MQTT:

$ mosquitto stop

查看MQTT状态:

$ mosquitto status

查看监听的端口:

$ netstat -anplt | grep 1883

测试下,

$ mosquitto_sub -h test.mosquitto.org -t "#" -v

mosquitto测试

测试:
一、开起第一个终端窗口,直接运行mosquitto即可: 二、开启另一个终端窗口,运行订阅程序mosquitto_sub: 注意:消息推送的发布和订阅要有主题,选项[
-t] 主题,即: mosquitto -t 主题 如需指定用户名称则加选项[-i] 用户名,即: mosquitto_sub -t 主题 1 -i 订阅端 三、开启第三个终端窗口,运行发布端程序mosquitto_pub: 指定消息推送的主题,发布端用户名和消息: mosquitto_pub -t 主题1 -i 发布端 -m 你好 *注意:如果消息中间有空格则消息要已单引号括起来。 mosquitto_pub -t 主题1 -i 发布端 -m '我是发布端,你好。' 这时候在在开启mosquitto_sub -t mqtt的终端就会出现: 测试结束。
paho android client : https://www.eclipse.org/paho/clients/android/
Android paho SDK && Service && Demo download : https://repo.eclipse.org/index.html#nexus-search;quick~org.eclipse.paho.android.service
org.eclipse.paho.client.mqttv3
org.eclipse.paho.android.service
 
原文地址:https://www.cnblogs.com/alanfang/p/5498342.html