diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index 2b9eb04a1ba807b400eca7abbd8d34b094ebcab4..0a0e17938e4a54eeb51bbedd6d2c7d88222936be 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -76,8 +76,11 @@ function RGBDStream(uri, peer) { this.rxcount = 10; this.rxmax = 10; + let ix = uri.indexOf("?"); + this.base_uri = (ix >= 0) ? uri.substring(0, ix) : uri; + // Add RPC handler to receive frames from the source - peer.bind(uri, (latency, spacket, packet) => { + peer.bind(this.base_uri, (latency, spacket, packet) => { // Forward frames to all clients this.pushFrames(latency, spacket, packet); //this.rxcount++; @@ -129,7 +132,7 @@ RGBDStream.prototype.pushFrames = function(latency, spacket, packet) { //console.log("Frame = ", packet[0], packet[1]); for (let i=0; i < this.clients.length; i++) { - this.clients[i].push(this.uri, latency, spacket, packet); + this.clients[i].push(this.base_uri, latency, spacket, packet); } /*let i=0; @@ -372,15 +375,18 @@ app.ws('/', (ws, req) => { if (uri_to_peer.hasOwnProperty(parsedURI)) { console.log("Stream found: ", uri, parsedURI); - if (!p.isBound(uri)) { - console.log("Adding local stream binding"); - p.bind(uri, (ttimeoff, spkt, pkt) => { + let ix = uri.indexOf("?"); + let base_uri = (ix >= 0) ? uri.substring(0, ix) : uri; + + if (!p.isBound(base_uri)) { + console.log("Adding local stream binding: ", base_uri); + p.bind(base_uri, (ttimeoff, spkt, pkt) => { //console.log("STREAM: ", ttimeoff, spkt, pkt); let speer = uri_to_peer[parsedURI]; if (speer) { try { uri_data[parsedURI].addClient(p); - speer.send(parsedURI, ttimeoff, spkt, pkt); + speer.send(base_uri, ttimeoff, spkt, pkt); } catch(e) { console.error("EXCEPTION", e); }