[emqttd] (EMQ)
[emqttd] (EMQ)是采用Erlang语言开发,全面支持MQTT V3.1.1协议,支持集群和大规模连接的开源MQTT消息服务器。 [emqttd]致力于发布一个基于Erlang/OTP语言平台,企业级稳定可靠,完全开源免费,可集群支持大规模物联网、移动互联网连接的MQTT消息服务器。

# 完整的MQTT V3.1/V3.1.1协议支持
* 全面支持MQTT V3.1/V3.1.1协议规范
* QoS0/1/2消息发布与订阅支持
* Session管理和离线消息支持
* Last Will消息支持
* Retained消息支持
* TCP/SSL连接支持
* MQTT over WebSocket连接支持
* HTTP Publish消息发布接口
* ‘$SYS/#’系统Topic支持
* 基于ClientId、IP地址认证支持
* 基于用户名、密码认证支持
* 基于ClientId、用户名、IP地址的ACL访问控制
* 多服务器集群(Cluster)支持
* 多节点桥接(Bridge)支持
* 单节点50万+客户端连接支持
* 插件扩展架构支持
* 通过Eclipse Paho项目的服务器互操作性测试
# 完全开放源码,多节点集群支持
* 开放源码, MIT开源软件许可协议
* 多服务器集群, 大规模客户端连接支持
* 安装简便, 下载解压即可启动运行
* 插件架构, 定制或扩展服务器功能
# 快速下载安装
emqttd可跨平台运行在Linux、FreeBSD、Windows与 Mac OS X。[http://emqtt.io/downloads]页面下载程序安装包。
解压tgz格式程序包,到安装目录启动。例如:
tar xvf emqttd-ubuntu64-0.8.1-alpha-20150529.tgz && cd emqttd
控制台模式启动,用于调试。控制台可以打印所有收发的MQTT报文
./bin/emqttd console
守护进程模式启动,默认占用1883端口用于MQTT连接,8083端口用于HTTP接口
./bin/emqttd start
查看运行状态
./bin/emqttd_ctl status
停止
./bin/emqttd stop
下载源码编译:
git clone https://github.com/emqtt/emqttd.git
cd emqttd && make && make dist
HTTP消息发布接口测试
emqttd支持通过HTTP接口从应用程序向MQTT客户端发布消息:
curl -v --basic -u user:passwd -d "qos=1&retain=0&topic=/a/b/c&message=hello" -k http://localhost:8083/mqtt/publish
URL: HTTP POST http://host:8083/mqtt/publish
参数:
* qos: QoS(0, 1, 2)
* retain: Retain(0, 1)
* topic: Topic
* message: Message
[emqttd] (EMQ)的更多相关文章
- 采用MQTT协议实现android消息推送(2)MQTT服务端与客户端软件对比、android客户端示列表
1.服务端软件对比 https://github.com/mqtt/mqtt.github.io/wiki/servers 名称(点名进官网) 特性 简介 收费 支持的客户端语言 IBM MQ 完整的 ...
- emqttd学习教程(二):emqttd配置说明
一.配置文件说明emqttd消息服务器通过 etc/ 目录下配置文件进行设置,主要配置文件包括: 配置文件 说明 etc/emq.conf 消息服务器配置文件etc/acl.conf 默认ACL规则配 ...
- MQTT研究之EMQ:【EMQX使用中的一些问题记录(1)】
issue 1. EMQX的共享订阅 EMQX是一个非常强大的物联网通信消息总线,基于EMQX开展应用开发,要注意很多配置细节问题,这里要说到的就是共享订阅以及和cleanSession之间的关系问题 ...
- emqtt 试用(九)ssl认证 - 客户端 mqttfx 验证
一.代码生成证书 1.安装openssl,配置path变量 安装文件:Win64OpenSSL-1_1_0f.exe 安装openssl:C:\OpenSSL-Win64 配置path变量:C:\Op ...
- LINUX内核分析第五周学习总结——扒开应用系统的三层皮(下)
LINUX内核分析第五周学习总结——扒开应用系统的三层皮(下) 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/cou ...
- 字典(dict)的反转
1.今天在写12306查询余票时,想给定字典(dict)的值,从而得到字典(dict)的键,但好像字典(dict)方法中没有与此相关的方法,只能退而求其次,反转字典(dict),将原字典(dict)的 ...
- MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)
https://blog.csdn.net/panwen1111/article/details/79245161 目录MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整De ...
- 机器学习回顾篇(12):集成学习之Bagging与随机森林
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- MarkDown图文编辑系列教程(二)
一.写在前面 引言 本文是我写的MarkDown系列教程的第二篇,前一篇的地址:MarkDown图文编辑系列教程(一) 读完本篇,你将获得 学会使用markdown语法进行:区块引用(一种常用的引用格 ...
随机推荐
- 数据库之mysql的基本操作
1 数据库 1.1 数据库介绍 为什么要有数据库? 数据需要大量的存储,把数据永久保存下来,可以保存到文件中,当然也可以保存到数据库中. 数据库:通俗的说,存储数据的仓库,是管理数据的文件夹:存放数据 ...
- JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)
ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的 ...
- 141.最小m 段和问题--划分性DP(特殊数据)
3278 最小m 段和问题 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给定 n 个整数(不一定是正整 ...
- HDU 3473 Minimum Sum(划分树)
Minimum Sum Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- js中定义变量的三种方式const,val,let 的区别
js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始 ...
- nginx配置rewrite总结
1.rewrite regex replacement [flag] 2.flag为break时,url重写后,直接使用当前资源,不在执行location里其他语句,完成本次请求,地址栏url不变. ...
- 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...
- [java] 模拟QPS
在WEB服务器端,每日的访问量巨大.在非生产环境需要对服务器进行压力测试,一般使用后台线程和Sleep方式来模拟线上的压力.这里使用ScheduledExecutorService实现一种简单的QPS ...
- LINUX之文件操作权限讲解
r(Read,读取):对文件而言,具有读取文件内容的权限:对目录来说,具有浏览目 录的权限. w(Write,写入):对文件而言,具有新增.修改文件内容的权限:对目录来说,具有删除.移动目录内文件的权 ...
- decal in unity
// Upgrade NOTE: commented out 'float4x4 _CameraToWorld', a built-in variable// Upgrade NOTE: replac ...