Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MQTT.js:连接尝试失败后如何关闭/连接到另一个代理?(用于使用桥接MOSQUITO)_Javascript_Node.js_Mqtt_Mosquitto_Broker - Fatal编程技术网

Javascript MQTT.js:连接尝试失败后如何关闭/连接到另一个代理?(用于使用桥接MOSQUITO)

Javascript MQTT.js:连接尝试失败后如何关闭/连接到另一个代理?(用于使用桥接MOSQUITO),javascript,node.js,mqtt,mosquitto,broker,Javascript,Node.js,Mqtt,Mosquitto,Broker,我确实使用websocket支持建立了两个mosquitto代理,并且能够通过 现在,我尝试使用一组可能的mqtt代理实现一个fault prove版本,在成功连接之前,应该尝试连接到这些代理。如果连接失败,应尝试下一个代理。。。到目前为止还不错,但如果我尝试连接到脱机代理,不知何故,mqtt.js尝试无休止地重新连接。我无法关闭连接尝试并连接到下一个 var client=mqtt.connect(“ws://firstbrokerip:9001”); client.on('connect'

我确实使用websocket支持建立了两个mosquitto代理,并且能够通过

现在,我尝试使用一组可能的mqtt代理实现一个fault prove版本,在成功连接之前,应该尝试连接到这些代理。如果连接失败,应尝试下一个代理。。。到目前为止还不错,但如果我尝试连接到脱机代理,不知何故,
mqtt.js
尝试无休止地重新连接。我无法关闭连接尝试并连接到下一个

var client=mqtt.connect(“ws://firstbrokerip:9001”);
client.on('connect',function()){
//consoleLog(“[浏览器]MQTT js客户端:”、“已连接”、“绿色”);
客户。订阅(“测试频道”);
});
client.on('offline',function()){
//控制台日志(“[浏览器]MQTT js客户端:”,“脱机”,“红色”);
client.end();
client=mqtt.connect(“ws://secondbrokerip:9001”);

});您不需要实现故障转移,它被烘焙到模块中:

从mqtt.js文档()

您还可以使用以下内容指定服务器选项:[{host: 'localhost',port:1883},…],在这种情况下,数组是迭代的 在每个连接处

因此,您通过名为servers的键传递
connect
methodoptions对象,该键是要连接的代理数组

client = mqtt.connect({
  servers: [
    {
      host: 'firstbroker.ip',
      port: 9001,
      protocol: 'ws'
    },
    {
      host: 'secondbroker.ip',
      port: 9001,
      protocol: 'ws'
    }
  ]
});
非常感谢hardillb…:-)正是我要找的!