Files

118 lines
2.9 KiB
JavaScript

var
ssl = true,
express = require('express'),
fs = require('fs'),
strip_json = require('strip-json-comments'),
config = JSON.parse(strip_json(String(fs.readFileSync('./../grunt/config.json')))),
util = require('util'),
app = express(),
fs = require('fs'),
options = {
key: fs.readFileSync(__dirname + '/testme.quobject.com.key'),
cert: fs.readFileSync(__dirname + '/testme.quobject.com.cert'),
requestCert: true
},
server,
https,
http,
primus_server,
ssl_server ;
console.log("https port = " + config.server.ssl_port);
https = require('https').createServer(options, app);
ssl_server = require('engine.io').attach(https, {'pingInterval': 500});
https.listen(config.server.ssl_port, function(d) {
console.log('Engine.IO server listening on port', config.server.ssl_port);
});
console.log("http port = " + config.server.port);
http = require('http').createServer(app);
server = require('engine.io').attach(http, { 'pingInterval': 500 });
primus_server = require('engine.io').attach(http, { 'pingInterval': 500, 'path' : '/primus/engine.io' });
http.listen( config.server.port, function() {
console.log('Engine.IO server listening on port', config.server.port);
});
primus_server.on('connection', function (socket) {
console.log('primus_server connection');
socket.send('hi');
});
http.on('request', function(request, response) {
//console.log('request ' +util.inspect( request.headers));
});
server.on('connection', function(socket){
socket.send('hi');
// Bounce any received messages back
socket.on('message', function (data) {
console.log('got message1 data = "' + data + '"');
console.log('got message data stringify = "' + JSON.stringify(data) + '"');
var result = new Int8Array(data);
console.log('got message data Int8Array = "' + JSON.stringify(result) + '"\n\n');
if (data === 'give binary') {
var abv = new Int8Array(5);
for (var i = 0; i < 5; i++) {
abv[i] = i;
}
socket.send(abv);
return;
}
if (data === 'cookie') {
console.log('cookie ' + util.inspect(socket.request.headers));
if (socket.request.headers !== undefined) {
if (socket.request.headers.cookie === "foo=bar") {
socket.send('got cookie');
return;
}
}
socket.send('no cookie');
return;
}
socket.send(data);
});
});
ssl_server.on('connection', function(socket){
socket.send('hi');
// Bounce any received messages back
socket.on('message', function (data) {
if (data === 'give binary') {
var abv = new Int8Array(5);
for (var i = 0; i < 5; i++) {
abv[i] = i;
}
socket.send(abv);
return;
}
console.log('got message data = "' + data + '"');
console.log('got message data stringify = "' + JSON.stringify(data) + '"');
var result = new Int8Array(data);
console.log('got message data Int8Array = "' + JSON.stringify(result) + '"\n\n');
socket.send(data);
});
});