eclipse-paho / eclipse-paho/paho.mqtt.javascript

Keep on attempting to connect the client until it's not connected?

Open
#209 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1.2k
Forks
466
PR merge metrics
No merged PRs in 30d

Description

Hi guys I'm using MQTT.

```
export function establishConnectionApplianceConfig (client, uniqueId, callback) {
client.connect({
onSuccess:onConnect,
onFailure:doFail
});

function onConnect () {
client.subscribe('/home/'+uniqueId+'/configuration/get/response')
console.log('onConnectCalled')
callback()
}

function doFail (e) {
console.log(e)
console.log('Do Fail Called')
callback()
}
}

establishConnection (callback) {
console.log('wifi-id: '+this.state.uniqueId)
establishConnectionApplianceConfig(global.applianceClient, this.state.uniqueId,() => {
callback()

})
}

callback () {
if (global.applianceClient.isConnected()) {
getAppliances(global.applianceClient, this.state.uniqueId)
receiveApplianceUpdate(global.applianceClient, this.state.uniqueId, update => {
let status = JSON.parse(update)
console.log(status)
if (typeof status.power != 'undefined') {

} else {
getAppliances(global.applianceClient, this.state.uniqueId)
}
})
} else {
setTimeout(this.establishConnection(() => this.callback()), 5000)
}
}

networkScanning((searchObject, data) => {
console.log(data)
global.applianceClient = createClient(data)
this.establishConnection(() => {
console.log('Callback triggered')
if (global.applianceClient.isConnected()) {
getAppliances(global.applianceClient, this.state.uniqueId)
receiveApplianceUpdate(global.applianceClient, this.state.uniqueId, update => {
let status = JSON.parse(update)
console.log(status)
if (typeof status.power != 'undefined') {

} else {
getAppliances(global.applianceClient, this.state.uniqueId)
}
})
} else {
setTimeout(this.establishConnection(() => this.callback()), 5000)
}
})
```

The thing is Mqtt port 1883 starts first and it takes a while to start 9001. So I can detect detect MQTT but I can't connect to it so I was attempting to reconnect to it continuously until it's not connected. How to accomplish this? I'm open to any other alternatives as well.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.