diff --git a/public/src/app/datasocket/datasocket.service.ts b/public/src/app/datasocket/datasocket.service.ts index ffbf67f..afee9e5 100644 --- a/public/src/app/datasocket/datasocket.service.ts +++ b/public/src/app/datasocket/datasocket.service.ts @@ -2,15 +2,37 @@ import { environment } from '../../environments/environment'; export class DataSocket { private client = null; + private _isConnected: boolean = false; public onMessage; constructor() { + // WebSockHop.logger = function(type, message) { + // console.log("WebSockHop: " + type + "-" + message); + // }; + this.reconnect(); } + isConnected() { + return this._isConnected; + } + reconnect = () => { this.client = new WebSockHop(environment.webSocketUrl); + this.client.on('opened', () => { + console.log('WebSocket: connected to server'); + this._isConnected = true; + }); + + this.client.on('opening', () => { + // this happens immediately after a disconnection for network or other + // reasons, and 'closed' does not appear to be issued except for a + // disconnect from client code. + console.log('WebSocket: disconnected from server, will attempt reconnection'); + this._isConnected = false; + }); + this.client.formatter = new WebSockHop.StringFormatter(); this.client.formatter.pingMessage = 'ping'; this.client.formatter.handlePong = function (message) { diff --git a/public/src/app/home/home.component.html b/public/src/app/home/home.component.html index 20f2b30..136834f 100644 --- a/public/src/app/home/home.component.html +++ b/public/src/app/home/home.component.html @@ -3,7 +3,7 @@