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