• 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
     
  • 相关阅读:
    随笔
    std::condition_variable(复习)
    随笔
    std::vector<std::vector<> >
    staitc_cast,const_cast....
    复制构造函数
    c++ 临时对象
    复制初始化和直接初始化
    随笔
    Fedora 安装oracle11g 之最简洁方式
  • 原文地址:https://www.cnblogs.com/alanfang/p/5498342.html
Copyright © 2020-2023  润新知