diff options
| author | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-09 14:30:59 -0400 |
|---|---|---|
| committer | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-09 14:30:59 -0400 |
| commit | 7b0d282994db52cc4bc6b62b33ce05efbb522fae (patch) | |
| tree | 4c5a456667fdcfe7cd19f804fbc910c3c1eeb9d2 /www/js/EventServer.js | |
| parent | f6b0db446db4a45df20be3efd2851dac256d7876 (diff) | |
websocket handling improved
Diffstat (limited to 'www/js/EventServer.js')
| -rw-r--r-- | www/js/EventServer.js | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/www/js/EventServer.js b/www/js/EventServer.js index ad728661..ea156234 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -21,9 +21,15 @@ angular.module('zmApp.controllers') $rootScope.alarmCount="0"; var loginData = ZMDataModel.getLogin(); - if (loginData.eventServer) + + if (loginData.isUseEventServer =='0' || !loginData.eventServer) { - ZMDataModel.zmLog("Initializing Websocket with URL " + + ZMDataModel.zmLog("No Event Server present. Not initializing"); + return; + } + + + ZMDataModel.zmLog("Initializing Websocket with URL " + loginData.eventServer+" , will connect later..."); ws = $websocket.$new ({ url:loginData.eventServer, @@ -31,11 +37,7 @@ angular.module('zmApp.controllers') reconnectInterval:5000, lazy:true }); - } - else - { - ZMDataModel.zmLog("No Event Server configured. Skipping initialization"); - } + ws.$on ('$open', function() { @@ -96,23 +98,36 @@ angular.module('zmApp.controllers') } - - // FIXME: needs cleaninup up - // on iOS this socket will die after switching to background (eventually) - // on Android it will keep running - // on Android I need to see why websockets are getting duplicated on server - // disconnect + function refresh() { var loginData = ZMDataModel.getLogin(); - if (!loginData.eventServer) + if ((!loginData.eventServer) || (loginData.isUseEventServer=="0")) { ZMDataModel.zmLog("No Event Server configured, skipping refresh"); + + // Let's also make sure that if the socket was open + // we close it - this may happen if you disable it after using it + + if (typeof ws !== 'undefined') + { + if (ws.$status() != ws.$CLOSED) + { + ZMDataModel.zmDebug("Closing open websocket as event server was disabled"); + ws.$close(); + } + } + return; } + if (typeof ws === 'undefined') + { + ZMDataModel.zmDebug ("Calling websocket init"); + init(); + } // refresh is called when // The following situations will close the socket |
