Reconnect websocket after server restarts?
mshulman opened this issue · 3 comments
I'm not sure how this is supposed to work. My code works as long as the server is up before the client attempt to connect. But if the server restarts or otherwise faults, I don't know how to make the code reconnect.
Here's what I'm doing
void setUpSubscription() {
Serial.println("Setting up subscription");
client.begin("/signalk/v1/stream?subscribe=none");
while (!client.connected()) {
delay(100);
; // wait to connect
}
}
void loop() {
setUpSubscription();
while (client.connected()) {
// do stuff
}
Serial.println("client disconnected");
}
The problem is that the client.begin() doesn't work on a disconnected socket (I think).
What's the right thing to do?
have you implemented a Ping / Pong request ? maybe it could help you.
ddaydd-
Is this something that is implemented on the server? If so, how would I know if the server I’m connecting to implements this?
you have to implement it on the server and the client too. maybe this post can help you
https://stackoverflow.com/a/50876880/2979191
what language is your server written in? my server is Meteor which already has ping pong logic ...