reconnecting websockets
This commit is contained in:
parent
fb00a2f575
commit
95fbd1e7d2
57
quiz.js
57
quiz.js
|
@ -49,34 +49,39 @@ function loadQuizData(done) {
|
|||
});
|
||||
}
|
||||
|
||||
var url = 'ws://' + document.location.host + '/';
|
||||
var ws = new WebSocket(url, '*');
|
||||
var ws, sendToBackend, onBackendMessage;
|
||||
function setupWs() {
|
||||
var url = 'ws://' + document.location.host + '/';
|
||||
ws = new WebSocket(url, '*');
|
||||
|
||||
ws.onerror = function(e) {
|
||||
console.error(e.message);
|
||||
};
|
||||
ws.onclose = function() {
|
||||
console.error('WebSocket closed');
|
||||
};
|
||||
var onBackendMessage;
|
||||
ws.onmessage = function(data) {
|
||||
try {
|
||||
console.log('fromBackend: ' + data);
|
||||
var msg = JSON.parse(data);
|
||||
if (onBackendMessage)
|
||||
onBackendMessage(msg);
|
||||
} catch(e) {
|
||||
ws.onerror = function(e) {
|
||||
console.error(e.message);
|
||||
}
|
||||
};
|
||||
var sendToBackend = function(msg) {
|
||||
console.log('toBackend: ' + JSON.stringify(msg));
|
||||
ws.send(JSON.stringify(msg));
|
||||
};
|
||||
ws.onopen = function() {
|
||||
/* TODO: rm debug */
|
||||
sendToBackend({ nedap: "ping" });
|
||||
};
|
||||
setupWs();
|
||||
};
|
||||
ws.onclose = function() {
|
||||
console.error('WebSocket closed');
|
||||
setupWs();
|
||||
};
|
||||
ws.onmessage = function(data) {
|
||||
try {
|
||||
console.log('fromBackend: ' + data);
|
||||
var msg = JSON.parse(data);
|
||||
if (onBackendMessage)
|
||||
onBackendMessage(msg);
|
||||
} catch(e) {
|
||||
console.error(e.message);
|
||||
}
|
||||
};
|
||||
sendToBackend = function(msg) {
|
||||
console.log('toBackend: ' + JSON.stringify(msg));
|
||||
ws.send(JSON.stringify(msg));
|
||||
};
|
||||
ws.onopen = function() {
|
||||
/* TODO: rm debug */
|
||||
sendToBackend({ nedap: "ping" });
|
||||
};
|
||||
}
|
||||
setupWs();
|
||||
|
||||
|
||||
function Timer() {
|
||||
|
|
46
server.js
46
server.js
|
@ -5,26 +5,32 @@ var wsc = require('websocket-client');
|
|||
var frontend;
|
||||
|
||||
/* TODO: url */
|
||||
var nedap = new wsc.WebSocket('ws://localhost:8080/', 'quiz-nedap');
|
||||
nedap.onopen = function() {
|
||||
console.log('NEDAP opened');
|
||||
nedap.send('nedap-kneemFothbedchoadHietEnobKavLub1');
|
||||
};
|
||||
nedap.onclose = function() {
|
||||
console.log('NEDAP closed');
|
||||
};
|
||||
nedap.onerror = function(e) {
|
||||
console.log('NEDAP error: ' + e.message);
|
||||
};
|
||||
nedap.onmessage = function(data) {
|
||||
try {
|
||||
var msg = JSON.parse(data);
|
||||
console.log({ fromNedap: msg });
|
||||
frontend.send(JSON.stringify({ nedap: msg }));
|
||||
} catch (e) {
|
||||
console.error(e.stack);
|
||||
}
|
||||
};
|
||||
var nedap;
|
||||
function connectNedap() {
|
||||
nedap = new wsc.WebSocket('ws://localhost:8080/', 'quiz-nedap');
|
||||
nedap.onopen = function() {
|
||||
console.log('NEDAP opened');
|
||||
nedap.send('nedap-kneemFothbedchoadHietEnobKavLub1');
|
||||
};
|
||||
nedap.onclose = function() {
|
||||
console.log('NEDAP closed');
|
||||
connectNedap();
|
||||
};
|
||||
nedap.onerror = function(e) {
|
||||
console.log('NEDAP error: ' + e.message);
|
||||
connectNedap();
|
||||
};
|
||||
nedap.onmessage = function(data) {
|
||||
try {
|
||||
var msg = JSON.parse(data);
|
||||
console.log({ fromNedap: msg });
|
||||
frontend.send(JSON.stringify({ nedap: msg }));
|
||||
} catch (e) {
|
||||
console.error(e.stack);
|
||||
}
|
||||
};
|
||||
}
|
||||
connectNedap();
|
||||
|
||||
var server = Connect.createServer(
|
||||
Connect.logger(),
|
||||
|
|
Loading…
Reference in New Issue