summaryrefslogtreecommitdiff
path: root/www/js/EventServer.js
diff options
context:
space:
mode:
authorArjun Roychowdhury <pliablepixels@gmail.com>2015-10-09 14:30:59 -0400
committerArjun Roychowdhury <pliablepixels@gmail.com>2015-10-09 14:30:59 -0400
commit7b0d282994db52cc4bc6b62b33ce05efbb522fae (patch)
tree4c5a456667fdcfe7cd19f804fbc910c3c1eeb9d2 /www/js/EventServer.js
parentf6b0db446db4a45df20be3efd2851dac256d7876 (diff)
websocket handling improved
Diffstat (limited to 'www/js/EventServer.js')
-rw-r--r--www/js/EventServer.js43
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