function TMwWebSocket() { this.URL = null; //this.EndPoint = null; var Me = this; this.Create = function(URL, onMessageCallBack, OnEndConnection, OnUncleanedClose, OnClose) { Me.URL = URL; //Me.EndPoint = EndPoint ; Me.WebSocketReference = new WebSocket(URL); //Me.Connected = false; Me.onMessageCallBack = onMessageCallBack; Me.OnEndConnection = OnEndConnection; Me.OnUncleanedClose = OnUncleanedClose; Me.OnClose = OnClose; Me.WebSocketReference.onopen = function(Event) { console.log("Connected WS "); Me.Connected = true; if(Me.OnEndConnection) Me.OnEndConnection(Me); } Me.WebSocketReference.onmessage = function(Event) { //console.log() if(Me.Connected) { if(Me.onMessageCallBack) Me.onMessageCallBack(Event, Me); } } Me.WebSocketReference.onclose = function(Event) { Me.Connected = false; console.log(Event); if (Event.wasClean) { console.log('[close] Connection closed cleanly, code=${Event.code} reason=${event.reason}'); if(Me.OnClose) if(Me.OnClose != null) Me.OnClose(Event); } else { console.error('[UncleanedClose] Connection died'); if(Me.OnUncleanedClose) if(Me.OnUncleanedClose != null) Me.OnUncleanedClose(Event); Me = Me.Create(Me.URL,Me.onMessageCallBack,Me.OnEndConnection,Me.OnUncleanedClose,Me.OnClose); } } Me.WebSocketReference.onerror = function(Error) { console.log(Error); } return Me; } this.SendMessageToWS = function(Service, Method, Data) { if(Me.Connected) { var Message = {"Service":Service, "Method":Method, "Data":Data} Me.WebSocketReference.send(JSON.stringify(Message)); } } this.Close = function() { } return this; } $MWWS = new TMwWebSocket();