just checking out some objects

beta.r3js.org
-=ybafelo 2018-09-03 15:58:09 +02:00
parent 9b1bb5aa73
commit 45df09bbae
1 changed files with 57 additions and 2 deletions

View File

@ -2,15 +2,70 @@ const WebSocket = require('ws');
const config = require('./config'); const config = require('./config');
const http = require('http'); const http = require('http');
var server = http.createServer(); var wss = null;
const wss = new WebSocket.Server( var server = http.createServer(
function(req, res) {
res.setHeader('Content-Type', 'application/json');
wss.clients.forEach(
function(client){
if (client.readyState === WebSocket.OPEN) {
var cache = [];
res.write(
JSON.stringify(client,
function(key, value) {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
// Duplicate reference found
try {
// If this value does not reference a parent it can be deduped
return JSON.parse(JSON.stringify(value));
} catch (error) {
// discard key if value cannot be deduped
return;
}
}
// Store value in our collection
cache.push(value);
}
return value;
}
)
);
cache = null;
}
}
);
res.end();
}
);
wss = new WebSocket.Server(
{ {
server : server, server : server,
perMessageDeflate: false perMessageDeflate: false
} }
); );
server.on( server.on(
'listening', 'listening',
function() { function() {