From 4f84b2229eaeeff73b579c36aece8916e853bb61 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Fri, 28 Aug 2020 11:04:58 +0300 Subject: [PATCH] Fix some disconnect issues in web service --- web-service/server/src/index.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index da2a904af..773181878 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -276,7 +276,7 @@ function checkStreams(peer) { if (!peer.master) { setTimeout(() => { peer.rpc("list_streams", (streams) => { - console.log("STREAMS", streams); + //console.log("STREAMS", streams); for (let i=0; i<streams.length; i++) { //uri_to_peer[streams[i]] = peer; let parsedURI = stringSplitter(streams[i]) @@ -288,7 +288,7 @@ function checkStreams(peer) { }); peer.rpc("list_configurables", (cfgs) => { - console.log("CONFIGS", cfgs); + //console.log("CONFIGS", cfgs); for (let i=0; i<cfgs.length; i++) { if (!cfg_to_peer.hasOwnProperty(cfgs[i])) cfg_to_peer[cfgs[i]] = peer; } @@ -339,16 +339,20 @@ app.ws('/', (ws, req) => { }); p.on("disconnect", (peer) => { - console.log("DISCONNECT"); + console.log("DISCONNECT", peer); // Remove all peer details and streams.... + if (peer.status != 2) return; + let puris = peer_uris[peer.string_id]; if (puris) { for (let i=0; i<puris.length; i++) { console.log("Removing stream: ", puris[i]); delete uri_to_peer[puris[i]]; - delete stream_list[uri_data[puris[i]].uri]; - delete uri_data[puris[i]]; + if (uri_data.hasOwnProperty(puris[i])) { + delete stream_list[uri_data[puris[i]].uri]; + delete uri_data[puris[i]]; + } //p.unbind(pu) } delete peer_uris[peer.string_id]; @@ -385,7 +389,7 @@ app.ws('/', (ws, req) => { for (let c in cfg_to_peer) { if (cfg_to_peer[c] !== p) result.push(c); } - console.log("List Configs: ", result); + //console.log("List Configs: ", result); return result; }); -- GitLab