[英]Connecting to Mosquitto broker with username and password using mqtt.js
[英]MQTT.js: How to close / connect to another broker after failed connection attempt? (for using bridged mosquitto)
我確實設置了兩個具有websocket支持的mosquitto代理,並且能夠使用mqtt.js連接到它們
現在,我嘗試使用一系列可能的mqtt代理來實施一個經過驗證的版本,應該嘗試按順序連接該代理,直到成功連接為止。 如果連接失敗,則應該嘗試使用下一個代理...到目前為止,還不錯,但是如果我嘗試連接到脫機代理,則mqtt.js
嘗試無休止地重新連接。 我無法關閉連接嘗試並連接到下一個。
var client = mqtt.connect("ws://firstbrokerip:9001"); client.on('connect', function() { //consoleLog("[BROWSER] MQTT js-Client:"," Connected","green"); client.subscribe("testchannel"); }); client.on('offline', function() { //consoleLog("[BROWSER] MQTT js-Client:", ' Offline',"red"); client.end(); client = mqtt.connect("ws://secondbrokerip:9001"); });
關於如何關閉連接並連接到下一個的任何想法? (請不要在意自定義ConsoleLog函數)
您無需實現故障轉移,它已包含在模塊中:
從mqtt.js文檔( https://github.com/mqttjs/MQTT.js#connect )
您還可以指定服務器選項,其內容為:[{host:'localhost',port:1883},...],在這種情況下,每次連接都會迭代該數組。
因此,您將帶有稱為服務器的密鑰的connect
方法選項對象傳遞給服務器,該服務器是要連接的一組代理。
client = mqtt.connect({
servers: [
{
host: 'firstbroker.ip',
port: 9001,
protocol: 'ws'
},
{
host: 'secondbroker.ip',
port: 9001,
protocol: 'ws'
}
]
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.