447
阿裏雲
JavaScript 發消息示例__JavaScript 接入示例_MQTT 接入(物聯)_消息隊列 MQ-阿裏雲
本文主要介紹如何使用 JavaScript 客戶端收發 MQTT 消息,並給出示例代碼供前期開發測試參考。
注意:
本文給出的實例均基於 Eclipse Paho JavaScript SDK 實現,該 SDK 下載請參見MQTT 接入準備。如使用其他第三方的客戶端,請適當修改。
1. 資源申請
使用 MQ 提供的 MQTT 服務,首先需要核實應用中使用的 Topic 資源是否已經申請,如果沒有請先去控製台申請 Topic,Group ID 等資源。
申請資源時需要根據需求選擇對應的 Region,例如,MQTT 需要使用華北2的接入點,那麼 Topic 等資源就在華北2 申請,資源申請具體請參見申請 MQ 資源。
注意:MQTT 使用的多級子 Topic 不需要申請,代碼裏直接使用即可,沒有限製。
2. MQTT 發送消息
本段示例代碼演示如何使用 JavaScript 客戶端收發 MQTT 消息。
config.js 文件
host = 'mqtt-test.cn-qingdao.aliyuncs.com';// MQTT公測Region的接入點域名,參考MQTT環境準備章節
port = 80;//WebSocket協議服務端口
topic = 'XXXXXXX';//需要操作的Topic
useTLS = false;//是否走加密TLS協議
accessKey = 'XXXXXX';//賬號的AccessKey,在阿裏雲控製台查看
secretKey = 'XXXXXX=';//賬號的的SecretKey,在阿裏雲控製台查看
cleansession = true;
groupId='GID_XXXX';
clientId=groupId+'@@@XXXX';//GroupId@@@DeviceId,由控製台申請的Group ID和自己指定的Device ID組合構成
發送程序:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>Aliyun Mqtt Websockets</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="mqttws31.js" type="text/javascript"></script>
<script src="config.js" type="text/javascript"></script>
<script src="crypto-js.js" type="text/javascript"></script>
<script type="text/javascript">
var mqtt;
var reconnectTimeout = 2000;
var username =accessKey;
var password=CryptoJS.HmacSHA1(groupId,secretKey).toString(CryptoJS.enc.Base64);
function MQTTconnect() {
mqtt = new Paho.MQTT.Client(
host,//MQTT域名
port,//WebSocket端口
clientId//客戶端ClientId
);
var options = {
timeout: 3,
onSuccess: onConnect,
onFailure: function (message) {
setTimeout(MQTTconnect, reconnectTimeout);
}
};
mqtt.onConnectionLost = onConnectionLost;
mqtt.onMessageArrived = onMessageArrived;
if (username != null) {
options.userName = username;
options.password = password;
}
mqtt.connect(options);
}
function onConnect() {
// Connection succeeded; subscribe to our topic
mqtt.subscribe(topic, {qos: 0});
message = new Paho.MQTT.Message("Hello mqtt!!");//set body
message.destinationName =topic;// set topic
mqtt.send(message);
}
function onConnectionLost(response) {
setTimeout(MQTTconnect, reconnectTimeout);
};
function onMessageArrived(message) {
var topic = message.destinationName;
var payload = message.payloadString;
console.log("recv msg : "+topic+" "+payload);
};
MQTTconnect();
</script>
</head>
</html>
最後更新:2016-12-19 15:59:50
上一篇:
Android 收發消息示例__Android 接入示例_MQTT 接入(物聯)_消息隊列 MQ-阿裏雲
下一篇:
MQ 客戶端收發 MQTT 消息__Java 接入示例_MQTT 接入(物聯)_消息隊列 MQ-阿裏雲
步驟3:驗證配置生效__快速入門(非網站業務)_DDoS 高防IP-阿裏雲
數加控製台幫助__平台介紹_數加平台介紹-阿裏雲
32T 塊存儲分區__擴容磁盤概覽_磁盤_用戶指南_雲服務器 ECS-阿裏雲
禁止直播流推送__直播流操作接口_API 手冊_CDN-阿裏雲
1.1 登陸ECS實例__ECS快速開始_雲服務器ECS 體驗_體驗館-阿裏雲
CPU__常用指標_使用手冊_性能測試-阿裏雲
域名展示頁常見問題FAQ___域名展示頁_域名交易_域名-阿裏雲
設置日誌__管理存儲空間_控製台用戶指南_對象存儲 OSS-阿裏雲
簡單深度學習離線訓練__應用場景_產品簡介_高性能計算-阿裏雲
獲取聯係人模板編號__附錄_API文檔_域名-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲