From fa73a36fdd284f7522f0c39449a1e37652e386bf Mon Sep 17 00:00:00 2001 From: Sami Spets <savasp@utu.fi> Date: Wed, 30 Oct 2019 10:57:55 +0200 Subject: [PATCH] Debugging the websockets --- web-service/server/src/index.js | 4 +- web-service/server/src/peer.js | 41 +++++++++++------- web-service/server/src/public/js/bundle.js | 48 ++++++++++++++-------- web-service/server/src/public/js/index.js | 7 ++-- 4 files changed, 63 insertions(+), 37 deletions(-) diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index 33e1c8c1e..a1eab3366 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -43,6 +43,7 @@ let peer_uris = {}; let uri_data = {}; +let peer_data = []; /** * A client stream request object. Each source maintains a list of clients who * are wanting frames from that source. Clients can only request N frames at a @@ -364,7 +365,8 @@ app.ws('/', (ws, req) => { console.log("New web socket request"); //console.log('WEBSOCKET',ws) let p = new Peer(ws); - + peer_data.push(p); + console.log(peer_data) p.on("connect", (peer) => { console.log("Node connected...", peer.string_id); peer_uris[peer.string_id] = []; diff --git a/web-service/server/src/peer.js b/web-service/server/src/peer.js index cc60d113e..8de7303e5 100644 --- a/web-service/server/src/peer.js +++ b/web-service/server/src/peer.js @@ -14,6 +14,7 @@ my_uuid = Buffer.from(my_uuid); const kMagic = 0x0009340053640912; const kVersion = 0; + /** * Wrap a web socket with a MsgPack RCP protocol that works with our C++ version. * @param {websocket} ws Websocket object @@ -32,16 +33,8 @@ function Peer(ws) { this.uri = "unknown"; this.name = "unknown"; this.master = false; - if(this.sock.on == undefined){ - console.log(this.sock); - console.log("piip") - this.sock.onopen = (event) => { - const obj = [0, '__handshake__'] - this.sock.send(encode(obj)) - this.sock. - } - } - this.sock.on("message", (raw) => { + + let message = (raw) => { console.log(raw) let msg = decode(raw); console.log("MSG", msg) @@ -63,18 +56,36 @@ function Peer(ws) { } else if (msg[0] == 1) { this._dispatchResponse(msg[1], msg[3]); } - }); + } - this.sock.on("close", () => { + let close = () => { this.status = kDisconnected; this._notify("disconnect", this); - }); + } - this.sock.on("error", () => { + let error = () => { console.error("Socket error"); this.sock.close(); this.status = kDisconnected; - }); + } + + //if undefined, client is using peer + if(this.sock.on === undefined){ + this.sock.onmessage = message; + console.log("THIS", this) + console.log("THIS.SOCK", this.sock); + this.sock.onopen = (event) => { + console.log("Inside onopen") + const obj = [1, '__handshake__'] + this.sock.send(encode(obj)) + } + console.log("through") + //Server is using peer + }else{ + this.sock.on("message", message); + this.sock.on("close", close); + this.sock.on("error", error); + } this.bind("__handshake__", (magic, version, id) => { if (magic == kMagic) { diff --git a/web-service/server/src/public/js/bundle.js b/web-service/server/src/public/js/bundle.js index 42c03acc1..5ffc55e3b 100644 --- a/web-service/server/src/public/js/bundle.js +++ b/web-service/server/src/public/js/bundle.js @@ -4261,6 +4261,7 @@ my_uuid = Buffer.from(my_uuid); const kMagic = 0x0009340053640912; const kVersion = 0; + /** * Wrap a web socket with a MsgPack RCP protocol that works with our C++ version. * @param {websocket} ws Websocket object @@ -4279,16 +4280,8 @@ function Peer(ws) { this.uri = "unknown"; this.name = "unknown"; this.master = false; - if(this.sock.on == undefined){ - console.log(this.sock); - console.log("piip") - this.sock.onopen = (event) => { - const obj = [0, '__handshake__'] - this.sock.send(encode(obj)) - this.close(); - } - } - this.sock.on("message", (raw) => { + + let message = (raw) => { console.log(raw) let msg = decode(raw); console.log("MSG", msg) @@ -4310,18 +4303,36 @@ function Peer(ws) { } else if (msg[0] == 1) { this._dispatchResponse(msg[1], msg[3]); } - }); + } - this.sock.on("close", () => { + let close = () => { this.status = kDisconnected; this._notify("disconnect", this); - }); + } - this.sock.on("error", () => { + let error = () => { console.error("Socket error"); this.sock.close(); this.status = kDisconnected; - }); + } + + //if undefined, client is using peer + if(this.sock.on === undefined){ + this.sock.onmessage = message; + console.log("THIS", this) + console.log("THIS.SOCK", this.sock); + this.sock.onopen = (event) => { + console.log("Inside onopen") + const obj = [1, '__handshake__'] + this.sock.send(encode(obj)) + } + console.log("through") + //Server is using peer + }else{ + this.sock.on("message", message); + this.sock.on("close", close); + this.sock.on("error", error); + } this.bind("__handshake__", (magic, version, id) => { if (magic == kMagic) { @@ -4502,7 +4513,7 @@ module.exports = Peer; const Peer = require('../../peer') let current_data = {}; - +let peer_data = ""; checkIfLoggedIn = async () => { // const token = window.localStorage.getItem('token') @@ -4633,8 +4644,9 @@ const createCard = (url, viewers) => { connectToStream = () => { const ws = new WebSocket('ws://localhost:8080/'); current_data.frames = 10; - let p = new Peer(ws); - p.send('get_stream', (current_data.uri, current_data.frames, 0, /*pid,*/ current_data.uri)); + peer_data = new Peer(ws); + console.log(peer_data) + peer_data.send('get_stream', (current_data.uri, current_data.frames, 0, /*pid,*/ current_data.uri)); console.log("still working") diff --git a/web-service/server/src/public/js/index.js b/web-service/server/src/public/js/index.js index e0f453b35..4da28814a 100644 --- a/web-service/server/src/public/js/index.js +++ b/web-service/server/src/public/js/index.js @@ -1,7 +1,7 @@ const Peer = require('../../peer') let current_data = {}; - +let peer_data = ""; checkIfLoggedIn = async () => { // const token = window.localStorage.getItem('token') @@ -132,8 +132,9 @@ const createCard = (url, viewers) => { connectToStream = () => { const ws = new WebSocket('ws://localhost:8080/'); current_data.frames = 10; - let p = new Peer(ws); - p.send('get_stream', (current_data.uri, current_data.frames, 0, /*pid,*/ current_data.uri)); + peer_data = new Peer(ws); + console.log(peer_data) + peer_data.send('get_stream', (current_data.uri, current_data.frames, 0, /*pid,*/ current_data.uri)); console.log("still working") -- GitLab