• emqttd学习总结


    一. emqttd介绍

    emqttd 是用erlang实现的mqtt协议服务端,主要支持发布订阅功能。mqtt的优势有如下几点:

    • 可靠传输。MQTT可以保证消息可靠安全的传输,并可以与企业应用简易集成。
    • 消息推送。支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。
    • 低带宽、低耗能、低成本。占用移动应用程序带宽小,并且带宽利用率高,耗电量较少。

    二. 编译安装

    首先到github下clone下源码:

    ## 1. 克隆下源码
    git clone https://github.com/emqtt/emqttd.git
    ## 2. 编译(由于写好了Makefile,所以不用使用rebar)
    make
    ## 3. 发布
    make dist
    

    发布完成后,会在emqttd/rel目录下存在一个emqttd的目录,打包这个目录就可以很方便的在机器上使
    用了。

    三. 基本操作

    由于使用的是rebar进行编译发布,所以应用的控制非常方便,基本操作如下:

    ##启动emqttd节点
    ./bin/emqttd start
    ##重启emqttd节点
    ./bin/emqttd restart
    ##更多操作命令可以使用./bin/emqttd 查看
    ./bin/emqttd
    

    好了,一个基本的mqtt协议的server端就搭建好了,现在我们需要使用客户端进行连接,为了方便我们
    使用自带的插件emqttd_dashboard进行基本操作与查看。

    ##首先进入到代码所在的emqttd目录,然后进入到插件所在的目录.
    cd plugins/
    ##克隆下插件代码
    git clone https://github.com/emqtt/emqttd_dashboard.git
    ##,退回到上层目录,进行make
    cd ..
    make
    ##加载插件
    cd rel/emqttd
    ./bin/emqttd_ctl plugins load emqttd_dashboard
    

    到此,我们就可以使用http客户端了,使用浏览器打开网址127.0.0.1:18083,提示输入密码,初始用
    户名密码是admin,admin。在websocket一栏可以创建客户端进行订阅和发布消息。

    看了下插件登录代码发现两个问题:

    1. 后端用的list_to_atom把用户名转为atom再进行查找。如果别人用不同的用户名尝试的话会创建很多atom。(已提issue)
    2. 密码貌似明文传输,没细看。

    四.相关资料

    1.mqtt协议

    2.emqttd官网

  • 相关阅读:
    全排列算法(java实现) 组合算法实现
    int -2147483648 ----- 2147483647
    Gradel 多渠道打包 代码混淆
    Android开发环境搭建
    自定义相册、九宫格显示图片
    新技术:retrofit
    新技术:dagger
    主流架构:MVVP
    GreenDao3.2的使用
    第三方框架:EventBus
  • 原文地址:https://www.cnblogs.com/quitboy/p/4795738.html
Copyright © 2020-2023  润新知