- this.conn.addEventListener("message", this.socketMessageListener);
- this.socketCloseListener = setInterval(
- () => {
- if (this.conn.readyState == 3) {
- this.conn.removeEventListener(
- "message", this.socketMessageListener);
- this.conn = new WebSocket(this.connexionString);
- this.conn.addEventListener("message", this.socketMessageListener);
- const oppSid = this.getOppsid();
- if (!!oppSid) this.requestLastate(oppSid); //in case of
- }
- },
- 1000
- );
+ const onOpen = () => {
+ this.reconnectTimeout = 250;
+ const oppSid = this.getOppsid();
+ if (!!oppSid) this.requestLastate(oppSid); //in case of
+ };
+ this.conn.onopen = onOpen;
+ this.conn.onmessage = this.socketMessageListener;
+ const closeConnection = () => {
+ this.reopenTimeout = setTimeout(
+ () => {
+ this.openConnection();
+ this.reconnectTimeout = Math.min(2*this.reconnectTimeout, 30000);
+ },
+ this.reconnectTimeout
+ );
+ };
+ this.conn.onerror = closeConnection;
+ this.conn.onclose = closeConnection;