mqtt
1、什么是mqtt?
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基於發布/訂閱(publish/subscribe)模式的"輕量級"通訊協議,輕量,高效,具體,請參考菜鳥教程 : https://www.runoob.com/w3cnote/mqtt-intro.html
2、mqtt的幾個重要概念
- MQTT協議中有三種身份:發布者(Publish)、代理(Broker)(服務器)、訂閱者(Subscribe)
- MQTT傳輸的消息分為:主題(Topic)和負載(payload)
3、mqtt的幾個方法
- (1)Connect。等待與服務器建立連接。
- (2)Disconnect。等待MQTT客戶端完成所做的工作,並與服務器斷開TCP/IP會話。
- (3)Subscribe。等待完成訂閱。
- (4)UnSubscribe。等待服務器取消客戶端的一個或多個topics訂閱。
- (5)Publish。MQTT客戶端發送消息請求,發送完成后返回應用程序線程。
開始
1、地址 :https://github.com/Introvertuous/react_native_mqtt.git
2、安裝
yarn add react_native_mqtt
3、使用
import init from 'react_native_mqtt'; import AsyncStorage from '@react-native-community/async-storage'; init({ size: 10000, storageBackend: AsyncStorage, defaultExpires: 1000 * 3600 * 24, enableCache: true, reconnect: true, sync: {} }); 第一步:創建 // 地址,端口,路徑(這么寫就行了),connectId(隨便寫) :地址和端口,都是后台給,或者你自己弄個mqtt的服務 let client = new Paho.MQTT.Client('192.168.0.63', 8083, '/mqtt', '/mqttjs_db6017d322') 第二步:連接,暫時有一個參數,2個方法:成功,失敗 client.connect({ useSSL: false, onSuccess: onConnect, onFailure:(e)=>{ console.log('失敗'); console.log(e); } }); // 成功后需要發送主題 ,就是一個接口的路徑類似 function onConnect(){ console.log('成功'); client.subscribe(‘/fangtao’); } 第三步:斷掉 client.onConnectionLost = onConnectionLost; function onConnectionLost (responseObject) { if (responseObject.errorCode !== 0) { console.log('onConnectionLost:' + responseObject.errorMessage); } } 第四步:接收消息 client.onMessageArrived = onMessageArrived; function onMessageArrived (message) { console.log('消息:' + message.payloadString); }
感受一下
run起來,連接成功
后台推送一個消息過來
看看前台接收到沒?
成功!