消息收發(fā)功能
消息收發(fā)為云消息隊(duì)列 MQTT 版最基本的功能,云消息隊(duì)列 MQTT 版支持終端和云端服務(wù)接入云消息隊(duì)列 MQTT 版服務(wù)器,實(shí)現(xiàn)終端和終端、終端和云端的消息通信。本文介紹消息收發(fā)功能的基本場景和示例代碼。
背景信息
云消息隊(duì)列 MQTT 版消息收發(fā)場景中,消息發(fā)送端和消息接收端可分為終端設(shè)備和云端服務(wù)兩種類型。終端設(shè)備和云端服務(wù)均需要通過云消息隊(duì)列 MQTT 版的SDK接入云消息隊(duì)列 MQTT 版服務(wù)端進(jìn)行消息通信。
終端和終端消息收發(fā)
該場景下消息的發(fā)送端和消費(fèi)端都分布在移動(dòng)終端環(huán)境,通過MQTT協(xié)議連接到云消息隊(duì)列 MQTT 版。發(fā)送端和消費(fèi)端的終端設(shè)備均通過開源的終端SDK接入云消息隊(duì)列 MQTT 版實(shí)現(xiàn)消息收發(fā)。
典型場景示例
即時(shí)通信:例如,兩個(gè)安裝有聊天App的移動(dòng)手機(jī)直接通過云消息隊(duì)列 MQTT 版服務(wù)端收發(fā)聊天信息。
智能設(shè)備管理:例如,通過安裝在手機(jī)上的App向接入到云消息隊(duì)列 MQTT 版服務(wù)端的共享充電寶下發(fā)指令,充電寶收到指令消息后自動(dòng)彈出。
終端和云端消息收發(fā)
該場景下消息的發(fā)送端和消費(fèi)端分別為移動(dòng)終端設(shè)備和部署在阿里云上的業(yè)務(wù)應(yīng)用。通過云消息隊(duì)列 MQTT 版實(shí)現(xiàn)終端和云端的消息交互。終端設(shè)備通過終端SDK接入云消息隊(duì)列 MQTT 版服務(wù)端,云端應(yīng)用通過云端SDK接入云消息隊(duì)列 MQTT 版服務(wù)端。
典型場景示例
設(shè)備狀態(tài)上報(bào):消息發(fā)送端為終端設(shè)備,消費(fèi)端為云端業(yè)務(wù)應(yīng)用。例如,部署在終端環(huán)境的海量電子價(jià)簽定時(shí)上報(bào)自己的顯示狀態(tài)和節(jié)點(diǎn)電量等,部署在云端的管控應(yīng)用根據(jù)上報(bào)的數(shù)據(jù)分析當(dāng)前在線的電子價(jià)簽狀態(tài),并根據(jù)業(yè)務(wù)需要進(jìn)行進(jìn)一步的調(diào)整。
系統(tǒng)消息推送:消息發(fā)送端為云端業(yè)務(wù)應(yīng)用,消費(fèi)端為終端設(shè)備。例如,部署在云端的某游戲應(yīng)用發(fā)送一條停服更新的通告,云消息隊(duì)列 MQTT 版服務(wù)端將該通告推送至所有下載該游戲的手機(jī)終端上,通過手機(jī)消息提示給所有游戲用戶。
消息接收:云端SDK的訂閱模式支持集群消費(fèi),即不同的消費(fèi)端獲取不同的消息。
終端SDK示例代碼
針對(duì)不同的使用場景,本文提供的示例代碼所覆蓋的語言并不代表該場景下僅支持該語言,您可以參照J(rèn)ava的示例代碼完成其余語言的參數(shù)填寫。
消息收發(fā)
語言 | 下載地址 |
Java | |
C | |
Python | |
.NET | |
JavaScript | |
iOS | |
PHP |
語言 | 下載地址 |
JavaScript |
客戶端鑒權(quán)
終端設(shè)備接入云消息隊(duì)列 MQTT 版服務(wù)端收發(fā)消息時(shí),可以通過以下任意一種鑒權(quán)方式對(duì)客戶端進(jìn)行鑒權(quán)認(rèn)證。更多鑒權(quán)信息,請(qǐng)參見鑒權(quán)概述。
如果您使用簽名鑒權(quán)模式收發(fā)消息,User Name和Password的計(jì)算方法及驗(yàn)證方法請(qǐng)參見簽名鑒權(quán)模式。
語言 | 下載地址 |
Java | |
PHP |
語言 | 下載地址 |
Java | |
C | |
Python | |
.NET | |
JavaScript | |
iOS |
云端SDK示例代碼
云端SDK暫時(shí)只支持Java和Go語言。