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. 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。

若初次接触MQTT协议,可先理解以下概念:
【MQTT协议特点】——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制。
【MQTT协议角色】——在RESTful架构的物联网系统,包含两个角色客户端和服务器端,而在MQTT协议中包括发布者,代理器(服务器)和订阅者。
【MQTT协议消息】——MQTT中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。
【MQTT协议主题】——MQTT中的主题可理解为相同类型或相似类型的消息集合 默认会监听一下端口:
: MQTT, 不加密
: MQTT, 加密
: MQTT, 加密, 客服端需要验证
: 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 mosquitto-1.4..tar.gz
然后 tar -zxf mosquitto-1.4..tar.gz
cd mosquitto-1.4.
然后执行 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.

开启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 主题 -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
 

Android开发笔记之《远程控制(MQTT|mosquitto) && (ProtocalBuffer | GRPC)》的更多相关文章

  1. Android开发笔记之《Window下安装Ubuntu双系统,Grub无法显示Window选项》

    解决方法是: 在terminal里面输入: sudo update-grub 会找到windows的grub 重启电脑就可以了.

  2. Windows 下安装 Ubuntu 双系统(更新)

    Windows + Ubuntu 16.04 ---> 双系统 前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分的新的见解和一些使用感受, ...

  3. 怎样在Win10下安装ubuntu双系统

    Win10系统下安装ubuntu系统 安装前准备: 概念 在动手之前,一定要先了解双系统.系统引导.分区这3个概念,这样才能理解安装步骤,应对安装过程中的意外情况. 双系统 双系统就是开机之后,会有一 ...

  4. win8下安装ubuntu双系统

    终于成功在win8下安装成功ubuntu13.10, 安装方法来源于http://forum.ubuntu.org.cn/viewtopic.php?t=446557 下面的文件是该楼主的将安装ubu ...

  5. [Linux]三种方案在Windows系统下安装ubuntu双系统(转)

    在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已 ...

  6. 【学习总结】win7下安装Ubuntu双系统的日常

    参考文献 1 - [双系统中删除linux(win7适用) ] 2 - [win7(32位)U盘安装.卸载ubuntu(64位)双系统] 3 - [Windows下安装Ubuntu 16.04双系统] ...

  7. win7下安装ubuntu双系统的方法及心得体会(ps:要死好几回的节奏)

    1.win7下安装ubuntu系统后,可以很好进入ubuntu系统 但是进不去win7,开机有win7选项,但是选择后不管用 方法思路:各种修复win7的mbr 我的问题是:在winpe中发现,根本看 ...

  8. Win7下安装Ubuntu双系统常见问题

    [转自己以前的文章] 导航: ● win7下硬盘安装ubuntu常见问题 ●  win7下u盘安装ubuntu常见问题 吐槽: Ubuntu的安装花了我将近15个小时,网上常见的.不常见的问题基本我都 ...

  9. 学习笔记42—Win7下安装Linux双系统

    1.下载Linux镜像:http://mirrors.163.com/ubuntu-releases/18.04.1/ 方法一: 1.用软通牒软件将Linux的镜像写入空的优盘中, 具体如下: 1) ...

  10. 三种方案在Windows系统下安装ubuntu双系统

    一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已,比如Mac OS对硬件不兼容,Federa安装频繁出错,各种驱动不全等等,不推荐使用虚拟机安装. 个人感觉这是一种对操作系统的亵 ...

随机推荐

  1. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理3

    首先在webconfig中加入下面这句代码,这个主要是用来生成数据库的连接字符串 <connectionStrings> <add name="AuthorDesignCo ...

  2. (转)tomcat进程意外退出的问题分析

    节前某个部门的测试环境反馈tomcat会意外退出,我们到实际环境排查后发现不是jvm crash,日志里有进程销毁的记录,从pause到destory的整个过程: org.apache.coyote. ...

  3. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  4. C#按位操作,直接操作INT数据类型的某一位

    /// <summary> /// 根据Int类型的值,返回用1或0(对应True或Flase)填充的数组 /// <remarks>从右侧开始向左索引(0~31)</r ...

  5. centos yum update kernel

    1.查看当前kernel版本 uname -r 2.查看已安装版本 rpm -q kernel 3.查看可升级kernel版本 yum list kernel 4.升级kernel版本 yum upd ...

  6. 报表开发工具Finereport移动端app js接口列表【全】

    应用报表工具Finereport的开发人员会发现其移动端app 同样也推出了很多js接口,那这些接口到底有多少,其移动端又有哪些地方支持调用js,这些接口具体又该如何调用呢.根据我平时的开发经验,给大 ...

  7. Android(Linux)控制GPIO方法二

    前文<Android(Linux)控制GPIO的方法及实时性分析>主要使用Linux shell命令控制GPIO,该方法可在调试过程中快速确定GPIO硬件是否有问题,即对应的GPIO是否受 ...

  8. UVALive 4670 Dominating Patterns --AC自动机第一题

    题意:多个模板串,一个文本串,求出那些模板串在文本串中出现次数最多. 解法:AC自动机入门模板题. 代码: #include <iostream> #include <cstdio& ...

  9. Metasploit爆破tcpwrapped服务

    转自:http://www.mamicode.com/info-detail-1653722.html 一.利用nmap工具扫描目标主机 1.1 使用nmap命令对目标主机进行扫描. 1.2 在终端中 ...

  10. sqlmap常用技巧

    http://nanshihui.github.io/2016/02/25/sqlmaptips/