var socketConnectRequested = 0; var totalDevicesOnline = 0; var yptSocketResponse; var socketResourceId; var socketConnectTimeout; var users_id_online = []; var socketConnectRetryTimeout = 15000; function processSocketJson(json){ if (json.type == webSocketTypes.ON_VIDEO_MSG) { console.log("Socket onmessage ON_VIDEO_MSG", json); $('.videoUsersOnline, .videoUsersOnline_' + json.videos_id).text(json.total); } if (json.type == webSocketTypes.ON_LIVE_MSG && typeof json.is_live !== 'undefined') { console.log("Socket onmessage ON_LIVE_MSG", json); var selector = '#liveViewStatusID_' + json.live_key.key + '_' + json.live_key.live_servers_id; if (json.is_live) { onlineLabelOnline(selector); } else { onlineLabelOffline(selector); } } if (json.type == webSocketTypes.NEW_CONNECTION) { //console.log("Socket onmessage NEW_CONNECTION", json); if (typeof onUserSocketConnect === 'function') { onUserSocketConnect(json); } } else if (json.type == webSocketTypes.NEW_DISCONNECTION) { //console.log("Socket onmessage NEW_DISCONNECTION", json); if (typeof onUserSocketDisconnect === 'function') { onUserSocketDisconnect(json); } } else { var myfunc; if (json.callback) { //console.log("Socket onmessage json.callback ", json.resourceId, json.callback); var code = "if(typeof " + json.callback + " == 'function'){myfunc = " + json.callback + ";}else{myfunc = defaultCallback;}"; //console.log(code); eval(code); } else { //console.log("onmessage: callback not found", json); myfunc = defaultCallback; } //console.log("onmessage: callback ", myfunc, json); myfunc(json.msg); } } function socketConnect() { if (socketConnectRequested) { //console.log('socketConnect: already requested'); return false; } clearTimeout(socketConnectTimeout); if (!isOnline()) { //console.log('socketConnect: Not Online'); socketConnectRequested = 0; socketConnectTimeout = setTimeout(function () { socketConnect(); }, 1000); return false; } socketConnectRequested = 1; var url = addGetParam(webSocketURL, 'page_title', $('