精华内容
下载资源
问答
  • mqtt协议与go语言实现

    2021-07-14 00:24:08
    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在于,...

    学习资料:

    https://studygolang.com/articles/14452

    https://blog.csdn.net/jacky128256/article/details/105610456

    一、什么是MQTT

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。

    MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用

    MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用

    MQTT还有一个特点就是客户端之间不用相互通信, MQTT通信更像是邮箱服务,发布者发布消息到服务器,接收者只要订阅了其服务在线后即可收到

    实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

    MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

    (1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);

    (2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。

    Topic就是消息名,payload就是消息体

    MQTT会构建底层网络传输:它将建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。

    当应用数据通过MQTT网络发送时,MQTT会把与之相关的**服务质量(QoS)主题名(Topic)**相关连。

    二、Go语言MQTT服务器Broker的搭建

    服务端用erlang编写的一个开源项目:emqqtd

    # 下载安装包
    wget https://github.com/emqx/emqx/releases/download/v4.0.4/emqx-ubuntu18.04-v4.0.4.zip
    cd mqttd/emqx
    .
    ├── bin
    ├── data
    ├── erts-10.5.2
    ├── etc
    ├── lib
    ├── log
    └── releases
    # 开启服务
    ./bin/emqx start
    # 查看状态
    ./bin/emqx_ctl status
    # 停止服务
    ./bin/emqx stop
    

    找到自己的IP,访问http://[你的IP]:18083/#/clients

    • 用户名:admin
    • 密码:public

    即可进入服务器的控制台

    RYTlik

    三、Go客户端访问简单API

    客户端用golang客户端的库:“github.com/eclipse/paho.mqtt.golang”

    # 下载依赖包
    go get -u github.com/eclipse/paho.mqtt.golang
    

    实例如下:

    编写了两个函数一个发布一个订阅,传入参数即可服务

    修改EMQServerAddress为你服务器的IP

    package main
    
    // 与后端mqtt服务交互
    
    import (
    	"fmt"
    	mqtt "github.com/eclipse/paho.mqtt.golang"
    	"log"
    	"os"
    	"strconv"
    	"time"
    )
    
    const EMQServerAddress = "你的IP"
    
    // 创建全局mqtt publish消息处理 handler
    var messagePubHandler mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message) {
    	fmt.Println("Push Message:")
    	fmt.Printf("TOPIC: %s\n", msg.Topic())
    	fmt.Printf("MSG: %s\n", msg.Payload())
    }
    
    // 创建全局mqtt sub消息处理 handler
    var messageSubHandler mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message) {
    	fmt.Println("收到订阅消息:")
    	fmt.Printf("Sub Client Topic : %s \n", msg.Topic())
    	fmt.Printf("Sub Client msg : %s \n", msg.Payload())
    }
    
    // 连接的回掉函数
    var connectHandler mqtt.OnConnectHandler =func(client mqtt.Client) {
    	fmt.Println("新的连接!" + " Connected")
    }
    
    // 丢失连接的回掉函数
    var connectLostHandler mqtt.ConnectionLostHandler = func(client mqtt.Client, err error) {
    	fmt.Printf("Connect loss: %v\n", err)
    }
    
    func init() {
    	// 配置错误提示
    	mqtt.DEBUG = log.New(os.Stdout, "		[mqttDEBUG]", 0)
    	mqtt.ERROR = log.New(os.Stdout, " 	[mqttERROR]", 0)
    }
    
    /**
     * @Description: 发布订阅
     * @param clientID
     * @param addr
     * @param topic
     * @param payload
     */
    func Push(topic string, qos byte, retain bool, payload string) {
    	// opts ClientOptions 用于设置 broker,端口,客户端 id ,用户名密码等选项
    	opts := mqtt.NewClientOptions().AddBroker("tcp://" + EMQServerAddress + ":1883").SetClientID("test_push")
    	opts.SetKeepAlive(60 * time.Second)
    	// Message callback handler,在没有任何订阅时,发布端调用此函数
    	opts.SetDefaultPublishHandler(messagePubHandler)
    	opts.SetPingTimeout(1 * time.Second)
    	opts.OnConnect = connectHandler
    	opts.OnConnectionLost = connectLostHandler
    	client := mqtt.NewClient(opts)
    	if token := client.Connect(); token.Wait() && token.Error() != nil {
    		panic(token.Error())
    	}
    	//发布消息
    	// qos是服务质量: ==1: 一次, >=1: 至少一次, <=1:最多一次
    	// retained: 表示mqtt服务器要保留这次推送的信息,如果有新的订阅者出现,就会把这消息推送给它(持久化推送)
    	token := client.Publish(topic, qos, retain, payload)
    	token.Wait()
    	fmt.Println("Push Data : "+topic, "Data Size is "+strconv.Itoa(len(payload)))
    	fmt.Println("Disconnect with broker")
    	client.Disconnect(250)
    }
    
    /**
     * @Description: 订阅与取消订阅
     * @param clientID
     * @param addr
     * @param topic
     * @param isSub
     */
    func Subscription(topic string, qos byte, isSub bool, handleFun func([]byte)) {
    	opts := mqtt.NewClientOptions().AddBroker("tcp://" + EMQServerAddress + ":1883").SetClientID("sub_test")
    	opts.SetKeepAlive(60 * time.Second)
    	opts.SetPingTimeout(1 * time.Second)
    	opts.OnConnect = func(client mqtt.Client) {
    		fmt.Println("New Subscription! Connected" + " => " + topic)
    	}
    	opts.OnConnectionLost = connectLostHandler
    	client := mqtt.NewClient(opts)
    	if token := client.Connect(); token.Wait() && token.Error() != nil {
    		panic(token.Error())
    	}
    
    	if isSub {
    		// 订阅消息
    		if token := client.Subscribe(topic, qos, func(client mqtt.Client, msg mqtt.Message) {
    			fmt.Printf("Receive Subscribe Message :")
    			fmt.Printf("Sub Client Topic : %s, Data size is  %d \n", msg.Topic(), len(msg.Payload()))
    			if len(msg.Payload()) > 0 {
    				handleFun(msg.Payload())
    			}
    		}); token.Wait() && token.Error() != nil {
    			fmt.Println(token.Error())
    			os.Exit(1)
    		}
    	} else {
    		// 取消订阅
    		if token := client.Unsubscribe(topic); token.Wait() && token.Error() != nil {
    			fmt.Println(token.Error())
    			os.Exit(1)
    		}
    	}
    }
    
    展开全文
  • paho项目 Eclipse Paho项目提供了MQTTMQTT-SN消息传递协议的开源客户端实现,这些实现针对物联网(IoT)的新的,现有的和新兴的应用程序。

    1. 轻量级物联网协议 — MQTT

    MQTT全称 Message Queuing Telemetry Transport,即消息队列遥测传输协议,是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。

    MQTT协议构建于TCP/IP协议上,基于TCP传输方式,是一个基于客户端-服务器的消息发布/订阅传输协议

    MQTT协议轻量、简单、开放,特别适合端与端之间进行通信(中间经过服务器),一个使用MQTT的物联网系统架构如下:

    从图中可以看出,无论是物联网设备,还是用户使用的物联网客户端,只有两种需求:

    • 订阅某个主题
    • 发布某个主题的消息

    正因如此,MQTT用起来非常方便,得到了广泛的应用,在之前的文章中讲述了如何搭建MQTT服务器——EMQ-X服务器。

    EMQX MQTT 服务器(上篇)| 使用EMQ-X搭建私有MQTT服务器
    EMQX MQTT 服务器(下篇)| 开启客户端身份安全认证并使用mqtt.fx测试

    在测试与服务器对接时,讲述了如何使用很好用的MQTT客户端软件——mqtt.fx。

    mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)

    mqtt.fx虽然超级好用,但是只能用来测试使用,在实际开发中,我们需要再寻找一个好办法去自己编写MQTT客户端,比如:

    • 微信小程序:JavaScript
    • PC端:Python、Java、C#……
    • 安卓端:Java
    • 嵌入式设备:C

    接下来讲述一个非常强大的库,支持用10种语言编写MQTT客户端,非常棒!

    2. Eclipse paho项目

    Eclipse Paho项目提供了MQTT消息传递协议的开源客户端实现,官网如下:

    https://www.eclipse.org/paho/

    Eclipse paho 项目提供了如下语言的库:

    • Java
    • Python
    • JavaScript
    • GoLang
    • C
    • C++
    • Rust
    • Net (C#)
    • Android Service
    • Embedded C/C++

    针对这些语言的提供的MQTT客户端库目前对MQTT协议的支持情况如下:

    3. Eclipse paho项目库源码

    Eclipse paho项目是开源的,源码全部在Eclipse官方Github上:

    https://github.com/eclipse/

    进入其主页后,在过滤器输入paho,轻轻敲下回车即可过滤出所有的paho库:

    选择你需要的语言支持库,进入对应仓库后,其README文件中有非常详细的说明,包括:

    • 如何安装库
    • 库的一些限制,说明
    • 库提供的API
    • API如何使用说明
    • 示例代码
    • ……

    后续有时间我会出个paho专题教程,哈哈哈,敬请期待~

    关于paho库版本的选择,建议大家选择正式发布版,我这儿有一张来自官方的图,仅供参考:

    展开全文
  • MQTT

    2018-11-22 14:41:39
    mqtt 协议版本: 3.1.1 MQTT 介绍 互联网的基础网络协议是 TCP/IP协议. MQTT(消息队列遥测传输)是基于 TCP/IP 协议栈而构建的, 已成为 IoT 通信的标准. 为什么选择 MQTT MQTT 有多好多好, 多么牛逼我就不说了. 说的再...
    mqtt 协议版本: 3.1.1

    MQTT 介绍

    互联网的基础网络协议是 TCP/IP协议.

    MQTT(消息队列遥测传输)是基于 TCP/IP 协议栈而构建的, 已成为 IoT 通信的标准.

    为什么选择 MQTT

    MQTT 有多好多好, 多么牛逼我就不说了. 说的再多不如一个一个试, 试完了做比对, 剩下的那个就是要选择的.

    实在不想这样搞, 技术就跟着一线走.

    发布和订阅模型

    MQTT 协议在网络中定义了两种实体类型: 一个消息代理和一些客户端.

    代理是一个服务器, 它从客户端接收所有消息, 然后将这些消息路由到相关的目标客户端. 客户端就是能够与代理交互来发送和接收消息的.

    客户端连接到代理. 它可以订阅代理中的任何消息 “主题”. 此连接可以是简单的 TCP/IP 连接, 也可以是用于发送敏感消息的加密 TLS 连接.

    客户端通过将消息和主题发送给代理, 代理然后将消息转发给所有订阅该主题的客户端.

    因为 MQTT 消息是按主题进行组织的, 所以应用程序开发人员能灵活地指定某些客户端只能与某些消息交互.

    上图我们有两个主题分别是 config_change device_data.

    设备将在 device_data 主题上发布设备数据, 经过 Broker 发送给所有订阅者接收(这里的订阅者是数据处理和存储).

    而我们的设备控制器将命令发布到 config_change 主题, 经过 Broker 发送给所有订阅者接收(这里的订阅者是设备).

    ⚠️ Broker = 代理 = MQTT 服务器

    MQTT Broker 选择

    下面介绍几款MQTT服务器:

    • Apache-Apollo: 一个代理服务器, 在 ActiveMQ 基础上发展而来, 可以支持 STOMP、AMQP、MQTT、Openwire、SSL和WebSockets 等多种协议, 并且 Apollo 提供后台管理页面, 方便开发者管理和调试.
    • EMQ: 号称百万级开源MQTT消息服务器, 基于 Erlang/OTP 语言平台开发, 支持大规模连接和分布式集群, 发布订阅模式的开源MQTT消息服务器.
    • HiveMQ: 一个企业级的MQTT代理,主要用于企业和新兴的机器到机器M2M通讯和内部传输, 最大程度的满足可伸缩性、易管理和安全特性, 提供免费的个人版. HiveMQ提供了开源的插件开发包.
    • Mosquitto: 一款实现了消息推送协议MQTT v3.1的开源消息代理软件, 提供轻量级的、支持可发布/订阅的消息推送模式.

    了解 MQTT 协议

    更详细的协议介绍在这里

    MQTT 是一种连接协议, 它指定了如何组织数据字节并通过 TCP/IP 网络传输它们. 但实际上, 开发人员并不需要了解这个连接协议.

    所有 MQTT 库和工具都提供了直接处理这些消息的简单方法, 并能自动填充一些必需的字段, 比如消息和客户端 ID.

    首先, 客户端发送一条 CONNECT 消息来连接代理. CONNECT 消息要求建立从客户端到代理的连接. CONNECT 消息包含以下内容参数.

    表 1. CONNECT 消息参数

    参数说明
    cleanSession此标志指定连接是否是持久性的. 持久会话会将所有订阅和可能丢失的消息 (具体取决于 QoS) 都存储在代理中 (请参阅 表 3 获取 QoS 的描述)
    username代理的身份验证和授权凭证
    password代理的身份验证和授权凭证
    lastWillTopic连接意外中断时,代理会自动向某个主题发送一条 “last will” 消息.
    lastWillQos“last will” 消息的 QoS. (请参阅 表 3 来查看 QoS 的描述)
    lastWillMessage“last will” 消息本身
    keepAlive这是客户端通过 ping 代理来保持连接有效所需的时间间隔

    客户端收到来自代理的一条 CONNACK 消息. CONNACK 消息包含以下内容参数.

    表 2. CONNACK 消息参数

    参数说明
    sessionPresent此参数表明连接是否已有一个持久会话. 也就是说, 连接已订阅了主题, 而且会接收丢失的消息.
    returnCode0 表示成功. 其他值指出了失败的原因.

    建立连接后, 客户端向代理发送一条或多条 SUBSCRIBE 消息, 表明它会从代理接收针对某些主题的消息. 如表 3.

    表 3. SUBSCRIBE 消息参数

    参数说明
    qos表明此主题范围内的消息传送到客户端所需的一致程度. 值 0:不可靠, 消息基本上仅传送一次, 如果当时客户端不可用, 则会丢失该消息. 值 1:消息应传送至少 1 次. 值 2:消息仅传送一次.
    topic要订阅的主题. 一个主题可以有多个级别, 级别之间用斜杠字符分隔. 例如, “dw/demo” 和 “ibm/bluemix/mqtt” 是有效的主题.

    客户端成功订阅某个主题后, 代理会返回一条 SUBACK 消息, 其中包含一个或多个 returnCode 参数.

    表 4. SUBACK 消息参数

    参数说明
    returnCodeSUBCRIBE 命令中的每个主题都有一个返回代码. 值 0 - 2:成功达到相应的 QoS 级别. 值 128:失败.

    与 SUBSCRIBE 消息对应, 客户端也可以通过 UNSUBSCRIBE 消息取消订阅一个或多个主题.

    表 5. UNSUBSCRIBE 消息参数

    参数说明
    topic此参数可重复用于多个主题.

    客户端可向代理发送 PUBLISH 消息. 该消息包含一个主题和数据. 代理将消息转发给所有订阅该主题的客户端.

    表 6. PUBLISH 消息参数

    参数说明
    topicName发布消息的相关主题.
    qos消息传递的服务质量水平.
    retainFlag此标志表明代理是否保留该消息作为针对此主题的最后一条已知消息.
    payload消息中的实际数据. 它可以是文本字符串或二进制大对象数据.
    展开全文
  • Rabbitmq是一个开源的amqp的实现,但是也支持mqtt协议,本文旨在使用docker搭建rabbitmq服务器,使用mqtt协议。搜索rabbitmq的镜像docker search rabbitmq其中第一个镜像rabbitmq是官方镜像,可以直接使用,但是这个...

    Rabbitmq是一个开源的amqp的实现,但是也支持mqtt协议,本文旨在使用docker搭建rabbitmq服务器,使用mqtt协议。

    搜索rabbitmq的镜像

    docker search rabbitmq

    752ee314ec3f3888b0cf42380cc32476.png

    其中第一个镜像rabbitmq是官方镜像,可以直接使用,但是这个默认是没有启动其他插件的。

    也可以直接使用rabbitmq:management镜像,这个是启用了网页管理端的;

    也可以直接使用rabbitmq-mqtt,这个是启用了mqtt插件的。

    这里直接使用rabbitmq-mqtt。

    docker pull cyrilix/rabbitmq-mqtt

    启动rabbitmq容器

    docker run -d cyrilix/rabbitmq-mqtt

    我们可以通过以下命令查看rabbitmq中启动了什么插件

    docker exec rabbitmq-plugins list

    可以看到我们启用了rabbitmq_management和rabbitmq_mqtt,如果我们需要浏览器通过websocket连接到rabbitmq,我们还需要启动rabbitmq_web_mqtt插件

    docker exec rabbitmq-plugins enable rabbitmq_web_mqtt

    端口映射

    rabbitmq管理控制台的默认端口是15672,mqtt默认端口是1883,websocket默认端口是15675

    所以启动容器的时候需要做端口映射,否则无法通过宿主机器访问

    docker run -p 1883:1883 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 8883:8883 -p 15672:15672 -p 25672:25672 -p 15675:15675 -d cyrilix/rabbitmq-mqtt

    测试websocket over mqtt

    可以使用paho提供的demo:http://www.eclipse.org/paho/clients/js/utility/

    其中端口号是15675,path是/ws,账号密码是guest/guest

    关于如何启动rabbitmq的mqtt插件

    展开全文
  • 开源 MQTT 服务器

    万次阅读 2021-06-26 09:24:15
    到目前为止,比较流行的开源 MQTT ... 使用 Erlang 语言开发的 MQTT 服务器,内置强大的规则引擎,支持许多其他 IoT 协议比如 MQTT-SN、 CoAP、LwM2M 等。 3. Mosca 使用 Node.JS 开发的 MQTT 服务器,简单易用
  • 目录 快速开始 准备 下载及安装 第一次安装EMQ X ...EMQ X 支持多种操作系统,请选择合适您的版本下载。下载地址:https://www.emqx.io/cn/downloads#broker 在 Microsoft Windows 下安装...
  • Gmqtt——Go语言实现的MQTT broker

    千次阅读 2020-12-24 23:44:37
    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是用于物联网(IoT)的OASIS标准消息传递协议。发布/订阅是连接远程消息传递设备的理想选择,因为它具有...目前的开源的Go实现对MQTT协议的支持基本
  • 开源物联网 MQTT 服务器 EMQ X Broker 是基于高并发的 Erlang/OTP 语言平台开发,支持百万级连接和分布式集群架构。EMQ X Broker 已经在全球物联网市场广泛应用,无论是产品原型设计、物联网创业公司、还是大规模的...
  • go语言MQTT服务器(一)

    千次阅读 2020-03-07 21:44:23
    最初为了去了解学习mqtt,特在网上找了几个go语言mqtt开源服务器,但是,不是运行有问题,就是协议支持不完善,好不容易找到这个,但是很久没有维护了。经过考虑,还是拿这个当做基础开发。 基础功能 支持 支持QOS...
  • MQTT简介

    2019-08-01 15:44:22
    本文大部分内容转载自以上链接,其他内容为博主...请支持原创,点击链接跳转阅读。 (一)什么是MQTT Message Queuing Telemetry Transport,消息队列遥测传输,是IBM于1998年设计和开发的一种即时通信协议。MQTT是...
  • 一、什么是MQTT协议 MQTT(Message Queuing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,为其提供有序、可靠、...
  • MQTT跃跃欲试

    2019-12-19 22:37:29
    在上篇 MQTT初入门 中介绍了MQTT,也列出了...EMQ X R3.2 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器,文档地址:...
  • MQTT Java 客户端

    万次阅读 2021-06-26 14:15:12
    MQTT Java 客户端库 Eclipse Paho Java Client 是用 Java 编写的 MQTT 客户端库(MQTT Java Client),可用于 JVM 或其他 Java 兼容平台(例如Android)。 Eclipse Paho Java Client 提供了MqttAsyncClient 和 Mqtt...
  • MQTT简单了解

    千次阅读 2018-02-28 14:33:16
    MQTT简单了解 参考 百度百科:MQTT协议 MQTT协议-MQTT协议简介及协议原理 MQTT入门篇 MQTT与TCP的关系 MQTT数据包结构 MQTT英文文档 Version 3.1.1 MQTT协议中文版翻译 MQTT(Message Queuing Telemetry...
  • MQTT 介绍

    2019-09-11 09:35:37
    什么是MQTT MQTT是Message Queuing Telemetry Transport的缩写,它是一个基于发布/订阅模式的轻量级消息中间件协议,IBM公司的Andy Stanford-Clark 和Cirrus Link公司的Arlen Nipper在1999年设计了MQTT协议,最初...
  • MQTT再学习 -- 搭建MQTT服务器及测试

    万次阅读 多人点赞 2017-08-04 13:56:07
    最近在搞 PM2.5 采集,需要用到 MQTT 传输协议。协议部分看了几天的,讲的七七八八。本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上。不过,对于之前没有接触过的我来说...
  • MQTT浅析

    千次阅读 多人点赞 2016-09-11 20:56:14
    MQTT是“Message Queuing Telemetry Transport"的英文缩写,是IBM开发的一个即时通讯协议,是一个轻量级的,基于代理的”发布/订阅“模式的消息传输协议,截至现在的发布版本为V3.1.1,支持多种编程语言,如PHP,...
  • MQTT资源

    2019-05-20 15:20:44
    1. 支持MQTT协议的中间件 IBM Websphere MQ Telemetry IBM MessageSight Mosquitto Eclipse Paho emqttd Xively m2m.io webMethods Nirvana Messaging RabbitMQ Apache ActiveMQ Apache Apollo Moquette HiveMQ ...
  • MQTT详解

    2020-11-18 13:38:17
    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计...
  • MQTT.fx工具测试mqtt

    2020-10-16 09:17:19
    MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具。支持通过Topic订阅和发布消息,用来前期和物理云平台调试非常方便。 下载地址:http://mqttfx.jensd.de/index.php/download 二、界面介绍 1...
  • MQTT学习研究

    2016-06-07 16:50:31
    MQTT
  • EMQ_mqtt服务器

    2018-11-12 16:01:35
    EMQ是基于高并发的Erlang/OTP语言平台设计,支持百万级连接和分布式集群,发布订阅模式的开源MQTT消息服务器 完整支持MQTT V3.1/V3.1.1协议规范,扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议
  • MQTT 协议快速入门

    千次阅读 2018-11-26 13:17:39
    课程亮点 MQTT 协议实例全解析 MQTT 协议的最佳实践和反模式 MQTT 协议的安全性实践 AI+IoT 项目实战 本课程深入浅出地介绍了 MQTT 协议的各种特性,对每个协议...付强,十余年从业经验,从 C 语言到 Web 开发,...
  • MQTT初识

    2015-01-16 11:12:44
    该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。 1MQTT简介编辑 早在1999年,IBM的Andy Stanford-Clark博士以
  • MQTT协议

    2020-10-18 22:33:22
    MQTT是什么? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布,目前最新版本...
  • 网上找的很多基于python 的关于paho.mqtt 的示例都是很简单的收发共用同一个client 实例。但是在大量推送消息并发业务需求下,尤其发送数据量大的情况下,这种会造成多条推送消息的线程等待,使得单client 成为系统...
  • MQTT简要介绍

    千次阅读 2015-09-19 09:11:14
    该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。 MQTT简介 早在1999年,IBM的Andy Stanford-Clark博士以及Ar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,477
精华内容 2,190
关键字:

mqtt支持的语言