|
|
(function(){
|
|
|
|
"use strict";
|
|
|
|
var fs = require('fs');
|
|
|
|
// you'll probably load configuration from config
|
|
var cfg = {
|
|
ssl: true,
|
|
port: 8080,
|
|
ssl_key: '/path/to/you/ssl.key',
|
|
ssl_cert: '/path/to/you/ssl.crt'
|
|
};
|
|
|
|
var httpServ = ( cfg.ssl ) ? require('https') : require('http');
|
|
|
|
var WebSocketServer = require('../').Server;
|
|
|
|
var app = null;
|
|
|
|
// dummy request processing
|
|
var processRequest = function( req, res ) {
|
|
|
|
res.writeHead(200);
|
|
res.end("All glory to WebSockets!\n");
|
|
};
|
|
|
|
if ( cfg.ssl ) {
|
|
|
|
app = httpServ.createServer({
|
|
|
|
// providing server with SSL key/cert
|
|
key: fs.readFileSync( cfg.ssl_key ),
|
|
cert: fs.readFileSync( cfg.ssl_cert )
|
|
|
|
}, processRequest ).listen( cfg.port );
|
|
|
|
} else {
|
|
|
|
app = httpServ.createServer( processRequest ).listen( cfg.port );
|
|
}
|
|
|
|
// passing or reference to web server so WS would knew port and SSL capabilities
|
|
var wss = new WebSocketServer( { server: app } );
|
|
|
|
|
|
wss.on( 'connection', function ( wsConnect ) {
|
|
|
|
wsConnect.on( 'message', function ( message ) {
|
|
|
|
console.log( message );
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
}());
|