全部產品
Search
文件中心

ApsaraMQ for MQTT:訊息收發功能

更新時間:Mar 27, 2025

訊息收發為雲Message QueueTT 版最基本的功能,雲Message QueueTT 版支援終端和雲端服務接入雲Message QueueTT 版伺服器,實現終端和終端、終端和雲端的訊息通訊。本文介紹訊息收發功能的基本情境和範例程式碼。

背景資訊

雲Message QueueTT 版訊息收發情境中,訊息發送端和訊息接收端可分為終端裝置和雲端服務兩種類型。終端裝置和雲端服務均需要通過雲Message QueueTT 版的SDK接入雲Message QueueTT 版服務端進行訊息通訊。

雲Message QueueTT 版提供的SDK如下。

  • 終端SDK:MQTT的開源SDK,支援MQTT 3.1.1協議,適用於終端裝置的開發。

  • 雲端SDK:阿里雲開發的SDK,適用於雲上業務應用的開發。支援訊息發送、訊息訂閱以及接收終端SDK上下線事件訊息。

終端和終端訊息收發

終端和終端訊息收發

該情境下訊息的發送端和消費端都分布在移動終端環境,通過MQTT協議串連到雲Message QueueTT 版。發送端和消費端的終端裝置均通過開源的終端SDK接入雲Message QueueTT 版實現訊息收發。

典型情境樣本

  • 即時通訊:例如,兩個安裝有聊天App的移動手機直接通過雲Message QueueTT 版服務端收發聊天資訊。

  • 智慧型裝置管理:例如,通過安裝在手機上的App向接入到雲Message QueueTT 版服務端的共用充電寶下髮指令,充電寶收到指令訊息後自動彈出。

終端和雲端訊息收發

終端和雲端訊息收發

該情境下訊息的發送端和消費端分別為移動終端裝置和部署在阿里雲上的業務應用。通過雲Message QueueTT 版實現終端和雲端的訊息互動。終端裝置通過終端SDK接入雲Message QueueTT 版服務端,雲端應用通過雲端SDK接入雲Message QueueTT 版服務端。

典型情境樣本

  • 裝置狀態上報:訊息發送端為終端裝置,消費端為雲端業務應用。例如,部署在終端環境的海量電子價簽定時上報自己的顯示狀態和節點電量等,部署在雲端的管控應用根據上報的資料分析當前線上的電子價簽狀態,並根據業務需要進行進一步的調整。

  • 系統訊息推送:訊息發送端為雲端業務應用,消費端為終端裝置。例如,部署在雲端的某遊戲應用發送一條停服更新的通告,雲Message QueueTT 版服務端將該通告推送至所有下載該遊戲的手機終端上,通過手機訊息提示給所有遊戲使用者。

  • 訊息接收:雲端SDK的訂閱模式支援叢集消費,即不同的消費端擷取不同的訊息。

終端SDK範例程式碼

說明

針對不同的使用情境,本文提供的範例程式碼所覆蓋的語言並不代表該情境下僅支援該語言,您可以參照Java的範例程式碼完成其餘語言的參數填寫。

訊息收發

終端SDK訊息收發樣本

WebSocket支援Web應用訊息收發樣本

語言

下載地址

JavaScript

mqtt.demo.javascript

用戶端鑒權

終端裝置接入雲Message QueueTT 版服務端收發訊息時,可以通過以下任意一種鑒權方式對用戶端進行鑒權認證。更多鑒權資訊,請參見鑒權概述

MQTT簽名樣本

說明

如果您使用簽名鑒權模式收發訊息,User Name和Password的計算方法及驗證方法請參見簽名鑒權模式

語言

下載地址

Java

mqtt.signature.mode.demo.java

C

mqtt.signature.mode.demo.c

Python

mqtt.signature.mode.demo.python

.NET

mqtt.signature.mode.demo.net

JavaScript

mqtt.signature.mode.demo.javascript

iOS

mqtt.signature.mode.demo.ios

PHP

mqtt.signature.mode.demo.php

MQTT Token樣本

雲端SDK範例程式碼

說明

雲端SDK暫時只支援Java和Go語言。

雲端SDK訊息收發樣本