emqtt 试用(三)mqtt 知识

1、概念

MQTT 协议客户端库: https://github.com/mqtt/mqtt.github.io/wiki/librarieshtml

 例如,mosquitto_sub/pub 命令行发布订阅消息:git

mosquitto_sub -t topic -q 2 mosquitto_pub -t topic -q 1 -m "Hello, MQTT!" 

MQTT V3.1.1 版本协议规范: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.htmlgithub

2、发布订阅模式

3、客户端监听设置

HTTP 发布接口

EMQ 消息服务器提供了一个 HTTP 发布接口,应用服务器或 Web 服务器可经过该接口发布 MQTT 消息:web

HTTP POST http://host:8080/mqtt/publish 

Web 服务器例如 PHP/Java/Python/NodeJS 或 Ruby on Rails,可经过 HTTP POST 请求发布 MQTT 消息:api

curl -v --basic -u user:passwd -d "qos=1&retain=0&topic=/a/b/c&message=hello from http..." -k http://localhost:8080/mqtt/publish

HTTP 接口参数:浏览器

参数 说明
client MQTT 客户端 ID
qos QoS: 0 | 1 | 2
retain Retain: 0 | 1
topic 主题(Topic)
message 消息

注解bash

HTTP 发布接口采用 Basic 认证服务器

注解websocket

该接口在 v2.3-beta.2 版本变动为: ‘api/v2/mqtt/publish’, 详见文档: 管理监控API (REST API)curl

MQTT WebSocket 链接

EMQ 消息服务器支持 MQTT WebSocket 链接,Web 浏览器可直接经过 MQTT 协议链接服务器:

WebSocket URI: ws(s)://host:8083/mqtt
Sec-WebSocket-Protocol: ‘mqttv3.1’ or ‘mqttv3.1.1’

Dashboard 插件提供了一个 MQTT WebSocket 链接的测试页面:

http://127.0.0.1:18083/websocket.html 

EMQ 经过内嵌的 HTTP 服务器,实现 MQTT/WebSocket,etc/emq.conf 设置:

## MQTT/WebSocket Listener
listener.ws.external = 8083 listener.ws.external.acceptors = 4 listener.ws.external.max_clients = 64
相关文章
相关标签/搜索