MQTT協議支持HTML5的Websocket客戶端連接,只需要JS代碼就能實現方便實時的通信,下面是實現步驟
1、引入JS文件
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js" type="text/javascript"></script>
2、使用代碼
下面為核心代碼的截取
client = new Paho.MQTT.Client("服務器域名", Number(端口號), "客戶端ID");//建立客戶端實例
client.connect({onSuccess:onConnect});//連接服務器並注冊連接成功處理事件
function onConnect() {
console.log("onConnected"); client.subscribe("/topic_back");//訂閱主題 } client.onConnectionLost = onConnectionLost;//注冊連接斷開處理事件 client.onMessageArrived = onMessageArrived;//注冊消息接收處理事件 function onConnectionLost(responseObject) { if (responseObject.errorCode !== 0) { console.log("onConnectionLost:"+responseObject.errorMessage); console.log("連接已斷開"); } } function onMessageArrived(message) { console.log("收到消息:"+message.payloadString); client.disconnect();//斷開連接,看情況使用 } //發送消息 message = new Paho.MQTT.Message("hello"); message.destinationName = "/topic"; client.send(message);
3、代碼運行效果
注意:此處只作演示,發送消息應該放在onConnect函數內,確保連接成功再發送!