118 lines
2.9 KiB
JavaScript
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);
|
|
|
|
});
|
|
}); |