全部產品
Search
文件中心

ApsaraMQ for MQTT:Demo工程

更新時間:Jun 30, 2024

本文介紹雲Message QueueTT 版的Demo工程,包含各種應用情境的使用指導,請參見程式源碼的文檔注釋進行理解。

擷取多語言Demo

範例程式碼全集請參見mqtt-demo

下載完成後解壓即可看到本地新增了mqtt-demo-main檔案夾。其中一級檔案夾是按照開發語言進行分類,請按照實際需求進行調試。

Java

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.java

MQTT簽名樣本

mqtt.signature.mode.demo.java

MQTT Token樣本

mqtt.token.mode.demo.java

MQTT SSL加密樣本

mqtt.ssl.demo.java

MQTT發送訊息RocketMQ訂閱訊息樣本

mqtt.to.rocketmq.demo.java

RocketMQ發送訊息MQTT訂閱訊息樣本

rocketmq.to.mqtt.demo.java

MQTT發送順序訊息RocketMQ訂閱順序訊息樣本

mqtt.ordered.msg.demo.java

MQTT用戶端非同步上下線通知樣本

mqtt.client.status.notice.demo.java

MQTT SSL雙向認證樣本

mqtt.bissl.demo.java

Python

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.python

MQTT簽名樣本

mqtt.signature.mode.demo.python

MQTT SSL加密樣本

mqtt.ssl.mode.demo.python

PHP

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.php

MQTT簽名樣本

mqtt.signature.mode.demo.php

MQTT Token樣本

mqtt.token.mode.demo.php

MQTT發送順序訊息RocketMQ訂閱順序訊息樣本

mqtt.ordered.msg.demo.php

C

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.c

MQTT簽名樣本

mqtt.signature.mode.demo.c

MQTT SSL加密樣本

mqtt.ssl.demo.c

說明

更多C語言依賴庫,請參見eclipse/paho.mqtt.c

.NET

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.net

MQTT簽名樣本

mqtt.signature.mode.demo.net

MQTT SSL加密樣本

mqtt.ssl.mode.demo.net

JavaScript

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.javascript

MQTT簽名樣本

mqtt.signature.mode.demo.javascript

MQTT SSL加密樣本

mqtt.ssl.demo.javascript

WebSocket訊息收發樣本

mqtt.websocket.demo.javascript

iOS

情境

下載地址

單獨使用MQTT訊息收發樣本

mqtt.demo.ios

MQTT簽名樣本

mqtt.signature.mode.demo.ios

MQTT SSL加密樣本

mqtt.ssl.demo.ios

Demo使用須知

如果搭配使用雲Message QueueTT 版和其他後端訊息儲存產品,如雲訊息佇列 RocketMQ 版,您需理解訊息結構和屬性對應關係,詳細資料,請參見MQTT與RocketMQ的訊息結構映射

說明

各種開發語言的Demo程式完整程度可能不一致,後續會陸續更新。如果有特性暫未有Demo,請參見Java的樣本下載相應語言的SDK後自行測試。

配置訪問憑證

在使用範例程式碼前,需要配置環境變數MQTT_AK_ENVMQTT_SK_ENV。配置方法如下:

重要

阿里雲帳號AccessKey擁有所有API的存取權限,若泄露會威脅到該帳號下所有資源的安全。為保證帳號安全,強烈建議您使用RAM使用者的AccessKey進行API訪問或日常營運。擷取方式,請參見建立AccessKey

Linux和macOS系統配置方法

  1. 建立.bash_profile檔案

    說明

    如果是第一次設定環境變數,可以使用touch ~/.bash_profile建立一個設定檔,如果已經存在設定檔,則使用vim ~/.bash_profile命令直接編輯檔案。

    touch ~/.bash_profile
    vim ~/.bash_profile
  2. 配置.bash_profile檔案

    # 將以下命令中的<ACCESS_KEY_ID>和<ACCESS_KEY_SECRET>替換為您自己的AccessKey ID和AccessKey Secret。
    export MQTT_AK_ENV=<ACCESS_KEY_ID>
    export MQTT_SK_ENV=<ACCESS_KEY_SECRET>

    編輯完成後儲存退出。

  3. 使用.bash_profile檔案

    # 使設定檔生效
    source ~/.bash_profile
    # 顯示配置是否生效
    echo $MQTT_AK_ENV

    若返回正確的AccessKey,則說明配置成功。

重要

環境變數配置完成之後,為確保新的設定被正確應用,您可能需要重啟相關的開發工具(IDE等)或服務。

Windows系統配置方法

通過圖形化使用者介面GUI

  • 操作步驟

    以下為Windows 10中通過圖形化使用者介面設定環境變數的步驟。

    在案頭按右鍵此電腦,選擇屬性>進階系統設定>環境變數>系統變數/使用者變數>建立,完成以下配置:

    變數

    樣本值

    AccessKey ID

    • 變數名:MQTT_AK_ENV

    • 變數值:LTAI4GDty8ab9W4Y1D****

    AccessKey Secret

    • 變數名:MQTT_SK_ENV

    • 變數值:IrVTNZNy5yQelTETg0cZML3TQn****

  • 測試設定是否成功

    單擊開始(或快速鍵:Win+R)> 運行(輸入 cmd)> 確定(或按 Enter 鍵),開啟命令提示字元,執行echo %MQTT_AK_ENV%echo %MQTT_SK_ENV%命令。若返回正確的AccessKey,則說明配置成功。

通過命令列提示符CMD

  • 操作步驟

    以管理員身份開啟命令提示字元,並使用以下命令在系統中新增環境變數。

    setx MQTT_AK_ENV LTAI4GDty8ab9W4Y1D**** /M
    setx MQTT_SK_ENV IrVTNZNy5yQelTETg0cZML3TQn**** /M

    其中/M表示系統級環境變數,設定使用者級環境變數時可以不攜帶該參數。

  • 測試設定是否成功

    單擊開始(或快速鍵:Win+R)> 運行(輸入 cmd)> 確定(或按 Enter 鍵),開啟命令提示字元,執行echo %MQTT_AK_ENV%echo %MQTT_SK_ENV%命令。若返回正確的AccessKey,則說明配置成功。

通過Windows PowerShell

在PowerShell中,設定新的環境變數(對所有新會話都有效):

[System.Environment]::SetEnvironmentVariable('MQTT_AK_ENV', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('MQTT_SK_ENV', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::User)

為所有使用者佈建環境變數(需要管理員權限):

[System.Environment]::SetEnvironmentVariable('MQTT_AK_ENV', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('MQTT_SK_ENV', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::Machine)

設定臨時的環境變數(僅當前會話有效):

$env:MQTT_AK_ENV = "LTAI4GDty8ab9W4Y1D****"
$env:MQTT_SK_ENV = "IrVTNZNy5yQelTETg0cZML3TQn****"

在PowerShell中,執行Get-ChildItem env:MQTT_AK_ENVGet-ChildItem env:MQTT_SK_ENV命令。若返回正確的AccessKey,則說明配置成功。

重要

環境變數配置完成之後,為確保新的設定被正確應用,您可能需要重啟相關的開發工具(IDE等)或服務。

更多資訊

範例程式碼僅供參考使用,擷取相應語言SDK請參見SDK下載