天天看點

emqttd java 即時通訊_[emqttd] (EMQ)

[emqttd] (EMQ)是采用Erlang語言開發,全面支援MQTT V3.1.1協定,支援叢集和大規模連接配接的開源MQTT消息伺服器。 [emqttd]緻力于釋出一個基于Erlang/OTP語言平台,企業級穩定可靠,完全開源免費,可叢集支援大規模物聯網、移動網際網路連接配接的MQTT消息伺服器。

emqttd java 即時通訊_[emqttd] (EMQ)

# 完整的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