Skip to content

Instantly share code, notes, and snippets.

@giavac
Last active August 29, 2015 14:14
Show Gist options
  • Save giavac/674d6b231bee5f5cd51b to your computer and use it in GitHub Desktop.
Save giavac/674d6b231bee5f5cd51b to your computer and use it in GitHub Desktop.
(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 );
});
});
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment