port to websocket library
This commit is contained in:
parent
48f6b35491
commit
ccab3a3afe
|
@ -1,5 +1,5 @@
|
||||||
var Connect = require('connect');
|
var Connect = require('connect');
|
||||||
var wss = require('websocket-server');
|
var wss = require('websocket').server;
|
||||||
var ltx = require('ltx');
|
var ltx = require('ltx');
|
||||||
|
|
||||||
var WS_KEY = 'nedap-kneemFothbedchoadHietEnobKavLub1';
|
var WS_KEY = 'nedap-kneemFothbedchoadHietEnobKavLub1';
|
||||||
|
@ -44,7 +44,7 @@ var updateBackendTimeout;
|
||||||
function updateBackend() {
|
function updateBackend() {
|
||||||
if (!updateBackendTimeout) {
|
if (!updateBackendTimeout) {
|
||||||
updateBackendTimeout = setTimeout(function() {
|
updateBackendTimeout = setTimeout(function() {
|
||||||
backend.send(JSON.stringify({ scores: scores }));
|
backend.sendUTF(JSON.stringify({ scores: scores }));
|
||||||
updateBackendTimeout = undefined;
|
updateBackendTimeout = undefined;
|
||||||
}, 50);
|
}, 50);
|
||||||
}
|
}
|
||||||
|
@ -126,12 +126,13 @@ var server = Connect.createServer(
|
||||||
Connect.errorHandler({ dumpExceptions: true, showStack: true })
|
Connect.errorHandler({ dumpExceptions: true, showStack: true })
|
||||||
);
|
);
|
||||||
|
|
||||||
wss.createServer({ server: server }).on('connection', function(conn) {
|
new wss({ httpServer: server }).on('req', function(req) {
|
||||||
|
var conn = req.accept(null, req.origin);
|
||||||
var authed = false;
|
var authed = false;
|
||||||
|
|
||||||
conn.on('message', function(data) {
|
conn.on('message', function(wsmsg) {
|
||||||
if (!authed) {
|
if (!authed) {
|
||||||
if (data.toString() === WS_KEY) {
|
if (wsmsg.utf8Data.toString() === WS_KEY) {
|
||||||
console.warn('Authorized WebSocket');
|
console.warn('Authorized WebSocket');
|
||||||
backend = conn;
|
backend = conn;
|
||||||
authed = true;
|
authed = true;
|
||||||
|
@ -147,7 +148,7 @@ wss.createServer({ server: server }).on('connection', function(conn) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
var msg = JSON.parse(data);
|
var msg = JSON.parse(wsmsg.utf8Data);
|
||||||
console.log({msg: msg});
|
console.log({msg: msg});
|
||||||
if (msg.joker) {
|
if (msg.joker) {
|
||||||
question = msg.joker.question;
|
question = msg.joker.question;
|
||||||
|
|
38
server.js
38
server.js
|
@ -1,6 +1,6 @@
|
||||||
var Connect = require('connect');
|
var Connect = require('connect');
|
||||||
var wss = require('websocket-server');
|
var wss = require('websocket').server;
|
||||||
var wsc = require('websocket-client');
|
var wsc = require('websocket').client;
|
||||||
var irc = require('irc-js');
|
var irc = require('irc-js');
|
||||||
|
|
||||||
var frontend;
|
var frontend;
|
||||||
|
@ -13,20 +13,20 @@ var frontend;
|
||||||
/* TODO: url */
|
/* TODO: url */
|
||||||
var nedap;
|
var nedap;
|
||||||
function connectNedap() {
|
function connectNedap() {
|
||||||
nedap = new wsc.WebSocket('ws://localhost/', 'quiz-nedap');
|
nedap = new wsc();
|
||||||
nedap.onopen = function() {
|
nedap.on('connect', function() {
|
||||||
console.log('NEDAP opened');
|
console.log('NEDAP opened');
|
||||||
nedap.send('nedap-kneemFothbedchoadHietEnobKavLub1');
|
nedap.sendUTF('nedap-kneemFothbedchoadHietEnobKavLub1');
|
||||||
};
|
});
|
||||||
nedap.onclose = function() {
|
nedap.on('close', function() {
|
||||||
console.log('NEDAP closed');
|
console.log('NEDAP closed');
|
||||||
connectNedap();
|
connectNedap();
|
||||||
};
|
});
|
||||||
nedap.onerror = function(e) {
|
nedap.on('error', function(e) {
|
||||||
console.log('NEDAP error: ' + e.message);
|
console.log('NEDAP error: ' + e.message);
|
||||||
connectNedap();
|
connectNedap();
|
||||||
};
|
});
|
||||||
nedap.onmessage = function(data) {
|
nedap.on('message', function(data) {
|
||||||
try {
|
try {
|
||||||
var msg = JSON.parse(data);
|
var msg = JSON.parse(data);
|
||||||
console.log({ fromNedap: msg });
|
console.log({ fromNedap: msg });
|
||||||
|
@ -34,7 +34,8 @@ function connectNedap() {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e.stack);
|
console.error(e.stack);
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
nedap.connect('ws://localhost/', 'quiz-nedap');
|
||||||
}
|
}
|
||||||
connectNedap();
|
connectNedap();
|
||||||
|
|
||||||
|
@ -124,16 +125,17 @@ var server = Connect.createServer(
|
||||||
* WebSocket server
|
* WebSocket server
|
||||||
*/
|
*/
|
||||||
|
|
||||||
wss.createServer({ server: server }).on('connection', function(conn) {
|
new wss({ httpServer: server }).on('request', function(req) {
|
||||||
|
var conn = req.accept(null, req.origin);
|
||||||
frontend = conn;
|
frontend = conn;
|
||||||
|
|
||||||
conn.on('message', function(data) {
|
conn.on('message', function(wsmsg) {
|
||||||
console.log({data:data});
|
|
||||||
try {
|
try {
|
||||||
var msg = JSON.parse(data);
|
var msg = JSON.parse(wsmsg.utf8Data);
|
||||||
if (msg.nedap) {
|
if (msg.nedap) {
|
||||||
console.log({ toNedap: msg.nedap });
|
console.log({ toNedap: msg.nedap });
|
||||||
nedap.send(JSON.stringify(msg.nedap));
|
if (nedap)
|
||||||
|
nedap.sendUTF(JSON.stringify(msg.nedap));
|
||||||
} else if (msg.irc === "activate") {
|
} else if (msg.irc === "activate") {
|
||||||
pushIrcInfo();
|
pushIrcInfo();
|
||||||
} else if (msg.buzzerLED) {
|
} else if (msg.buzzerLED) {
|
||||||
|
@ -155,7 +157,7 @@ function sendToFrontend(obj) {
|
||||||
if (!frontend)
|
if (!frontend)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
frontend.send(JSON.stringify(obj));
|
frontend.sendUTF(JSON.stringify(obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
server.listen(8081);
|
server.listen(8081);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user