Demo工程
本文介紹云消息隊(duì)列 MQTT 版的Demo工程,包含各種應(yīng)用場(chǎng)景的使用指導(dǎo),請(qǐng)參見(jiàn)程序源碼的文檔注釋進(jìn)行理解。
獲取多語(yǔ)言Demo
示例代碼全集請(qǐng)參見(jiàn)mqtt-demo。
下載完成后解壓即可看到本地新增了mqtt-demo-main文件夾。其中一級(jí)文件夾是按照開(kāi)發(fā)語(yǔ)言進(jìn)行分類(lèi),請(qǐng)按照實(shí)際需求進(jìn)行調(diào)試。
Java
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT Token示例 | |
MQTT SSL加密示例 | |
MQTT發(fā)送消息RocketMQ訂閱消息示例 | |
RocketMQ發(fā)送消息MQTT訂閱消息示例 | |
MQTT發(fā)送順序消息RocketMQ訂閱順序消息示例 | |
MQTT客戶(hù)端異步上下線通知示例 | |
MQTT SSL雙向認(rèn)證示例 |
Python
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT SSL加密示例 |
PHP
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT Token示例 | |
MQTT發(fā)送順序消息RocketMQ訂閱順序消息示例 |
C
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT SSL加密示例 |
更多C語(yǔ)言依賴(lài)庫(kù),請(qǐng)參見(jiàn)eclipse/paho.mqtt.c。
.NET
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT SSL加密示例 |
JavaScript
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT SSL加密示例 | |
WebSocket消息收發(fā)示例 |
iOS
場(chǎng)景 | 下載地址 |
單獨(dú)使用MQTT消息收發(fā)示例 | |
MQTT簽名示例 | |
MQTT SSL加密示例 |
Demo使用須知
如果搭配使用云消息隊(duì)列 MQTT 版和其他后端消息存儲(chǔ)產(chǎn)品,如云消息隊(duì)列 RocketMQ 版,您需理解消息結(jié)構(gòu)和屬性映射關(guān)系,詳細(xì)信息,請(qǐng)參見(jiàn)MQTT與RocketMQ的消息結(jié)構(gòu)映射。
各種開(kāi)發(fā)語(yǔ)言的Demo程序完整程度可能不一致,后續(xù)會(huì)陸續(xù)更新。如果有特性暫未有Demo,請(qǐng)參見(jiàn)Java的示例下載相應(yīng)語(yǔ)言的SDK后自行測(cè)試。
配置訪問(wèn)憑證
在使用示例代碼前,需要配置環(huán)境變量MQTT_AK_ENV和MQTT_SK_ENV。配置方法如下:
阿里云賬號(hào)AccessKey擁有所有API的訪問(wèn)權(quán)限,若泄露會(huì)威脅到該賬號(hào)下所有資源的安全。為保證賬號(hào)安全,強(qiáng)烈建議您使用RAM用戶(hù)的AccessKey進(jìn)行API訪問(wèn)或日常運(yùn)維。獲取方式,請(qǐng)參見(jiàn)創(chuàng)建AccessKey。
Linux和macOS系統(tǒng)配置方法
創(chuàng)建
.bash_profile
文件說(shuō)明如果是第一次設(shè)置環(huán)境變量,可以使用
touch ~/.bash_profile
創(chuàng)建一個(gè)配置文件,如果已經(jīng)存在配置文件,則使用vim ~/.bash_profile
命令直接編輯文件。touch ~/.bash_profile vim ~/.bash_profile
配置
.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>
編輯完成后保存退出。
使用
.bash_profile
文件# 使配置文件生效 source ~/.bash_profile # 顯示配置是否生效 echo $MQTT_AK_ENV
若返回正確的AccessKey,則說(shuō)明配置成功。
環(huán)境變量配置完成之后,為確保新的設(shè)置被正確應(yīng)用,您可能需要重啟相關(guān)的開(kāi)發(fā)工具(IDE等)或服務(wù)。
Windows系統(tǒng)配置方法
通過(guò)圖形用戶(hù)界面GUI
操作步驟
以下為Windows 10中通過(guò)圖形用戶(hù)界面設(shè)置環(huán)境變量的步驟。
在桌面右鍵單擊此電腦,選擇屬性>高級(jí)系統(tǒng)設(shè)置>環(huán)境變量>系統(tǒng)變量/用戶(hù)變量>新建,完成以下配置:
變量
示例值
AccessKey ID
變量名:MQTT_AK_ENV
變量值:LTAI4GDty8ab9W4Y1D****
AccessKey Secret
變量名:MQTT_SK_ENV
變量值:IrVTNZNy5yQelTETg0cZML3TQn****
測(cè)試設(shè)置是否成功
單擊開(kāi)始(或快捷鍵:Win+R)> 運(yùn)行(輸入 cmd)> 確定(或按 Enter 鍵),打開(kāi)命令提示符,執(zhí)行
echo %MQTT_AK_ENV%
、echo %MQTT_SK_ENV%
命令。若返回正確的AccessKey,則說(shuō)明配置成功。
通過(guò)命令行提示符CMD
操作步驟
以管理員身份打開(kāi)命令提示符,并使用以下命令在系統(tǒng)中新增環(huán)境變量。
setx MQTT_AK_ENV LTAI4GDty8ab9W4Y1D**** /M setx MQTT_SK_ENV IrVTNZNy5yQelTETg0cZML3TQn**** /M
其中
/M
表示系統(tǒng)級(jí)環(huán)境變量,設(shè)置用戶(hù)級(jí)環(huán)境變量時(shí)可以不攜帶該參數(shù)。測(cè)試設(shè)置是否成功
單擊開(kāi)始(或快捷鍵:Win+R)> 運(yùn)行(輸入 cmd)> 確定(或按 Enter 鍵),打開(kāi)命令提示符,執(zhí)行
echo %MQTT_AK_ENV%
、echo %MQTT_SK_ENV%
命令。若返回正確的AccessKey,則說(shuō)明配置成功。
通過(guò)Windows PowerShell
在PowerShell中,設(shè)置新的環(huán)境變量(對(duì)所有新會(huì)話都有效):
[System.Environment]::SetEnvironmentVariable('MQTT_AK_ENV', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('MQTT_SK_ENV', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::User)
為所有用戶(hù)設(shè)置環(huán)境變量(需要管理員權(quán)限):
[System.Environment]::SetEnvironmentVariable('MQTT_AK_ENV', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('MQTT_SK_ENV', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::Machine)
設(shè)置臨時(shí)的環(huán)境變量(僅當(dāng)前會(huì)話有效):
$env:MQTT_AK_ENV = "LTAI4GDty8ab9W4Y1D****"
$env:MQTT_SK_ENV = "IrVTNZNy5yQelTETg0cZML3TQn****"
在PowerShell中,執(zhí)行Get-ChildItem env:MQTT_AK_ENV
、Get-ChildItem env:MQTT_SK_ENV
命令。若返回正確的AccessKey,則說(shuō)明配置成功。
環(huán)境變量配置完成之后,為確保新的設(shè)置被正確應(yīng)用,您可能需要重啟相關(guān)的開(kāi)發(fā)工具(IDE等)或服務(wù)。
更多信息
示例代碼僅供參考使用,獲取相應(yīng)語(yǔ)言SDK請(qǐng)參見(jiàn)SDK下載。