connection.on('message', function(message) { var cmd = JSON.parse(message.utf8Data); if(cmd.type == "REGISTER") { name = cmd.name; connection.send(JSON.stringify({ type: "CHANNELREQUEST", "senderId": 1, "requestId": 1 })); wssRouter.mount("/receiver/"+cmd.name, '', function(request) { var receiverConnection = request.accept(request.origin); var appName = request.resourceURL.pathname.replace('/receiver/','').replace('Dev',''); Apps.registered[appName].registerReceiver(receiverConnection); }); } else if(cmd.type == "CHANNELRESPONSE") { connection.send(JSON.stringify({ type: "NEWCHANNEL", "senderId": 1, "requestId": 1, "URL": "ws://localhost:8008/receiver/"+name })); } });
// TODO: something better here app.use(express.cookieParser('super*secret*secret')); app.use(express.session()); app.use(require('stylus').middleware( { src: path.join(__dirname, 'public') } )); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.configure('development', function(){ app.use(express.errorHandler()); }); app.get('/:group', routes.index); var server = http.createServer(app); server.listen(app.get('port'), function(){ console.log("xblab relay server listening on port " + app.get('port')); }); var router = new ws.router(), wsServer = new ws.server({ httpServer: server }); router.attachServer(wsServer); router.mount('*', constants.chatProtocol, util.handleWsRequest);
var serverConfig = { httpServer: server, autoAcceptConnections: false }; /** * Create Socket Server * @type {WebSocketServer} */ var wsserver = jsWebSocketServer(serverConfig).getInstance(); var wsrouter = new WebSocketRouter(); wsrouter.attachServer(wsserver); /** * On Connect */ wsserver.on('connect', function (connection) { connection.send('WebSocketServer: Connected!'); console.log('Connected to WebSocket Server!'); }); /** * On Close */ wsserver.on('close', function (connection, reason, description) { connection.send('WebSocketServer: Disconnected!'); console.log('Disconnected to WebSocket Server!', reason, description);
var WebSocketServer = require('websocket').server; var WebSocketRouter = require('websocket').router; var http = require('http'); var server = http.createServer(function(request, response) { console.log((new Date()) + " Received request for " + request.url); }); server.listen(8088, function() { console.log((new Date()) + " Server is listening on port 8088"); }); wsServer = new WebSocketServer({ httpServer: server, }); var router = new WebSocketRouter(); router.attachServer(wsServer); router.mount('*', '*', function(request) { var connection = request.accept(request.origin); console.log((new Date()) + " connection accepted from " + connection.remoteAddress); connection.on('message', function(message) { console.log("Message from client: " + JSON.stringify(message)); }); connection.on('close', function(reasonCode, description) { console.log((new Date()) + " peer " + connection.remoteAddress + " disconnected."); }); connection.on('error', function(error) {
}); var WebSocketServer = require('websocket').server; var WebSocketRouter = require('websocket').router; var wsServer = new WebSocketServer({ httpServer: server, // You should not use autoAcceptConnections for production // applications, as it defeats all standard cross-origin protection // facilities built into the protocol and the browser. You should // *always* verify the connection's origin and decide whether or not // to accept it. autoAcceptConnections: false }); var wssRouter = new WebSocketRouter(); wssRouter.attachServer(wsServer); wsServer.on('request', function(request) { }); wssRouter.mount('/stage','', function(request) { global.stageConnection = request.accept(request.origin); global.stageConnection.send(JSON.stringify({ cmd: "idle" })); }); wssRouter.mount('/system/control','', function(request) { var connection = request.accept(request.origin);
*/ var server = http.createServer(function(request, response) { // Not important for us. We're writing WebSocket server, not HTTP server }); server.listen(webSocketsServerPort, function() { console.log((new Date()) + " Server is listening on port " + webSocketsServerPort); }); /** * WebSocket server */ var wsServer = new webSocketServer({ httpServer: server }); var router = new WebSocketRouter(); router.attachServer(wsServer); router.mount('*', 'navigation', function(request) { console.log((new Date()) + ' Connection from origin ' + request.origin + '.'); var connection = request.accept(request.origin); // we need to know client index to remove them on 'close' event var index = clients_nav.push(connection) - 1; var presentationID = ""; clients_nav_presentation_id.push(presentationID); console.log((new Date()) + ' Connection accepted.'); // user sent some message
next(); })); }); }); app.listen(cfg.port, '0.0.0.0'); var wsServer = new WebSocketServer({ httpServer: app, // Firefox 7 alpha has a bug that drops the // connection on large fragmented messages fragmentOutgoingMessages: false }); var router = new WebSocketRouter(); router.attachServer(wsServer); function originIsAllowed(url) { // put logic here to detect whether the specified origin is allowed. return true; } /* wsServer.on('request', function(request) { var url = request.httpRequest.url; if (!originIsAllowed(url)) { request.reject(); console.log((new Date()) + ' Connection from origin ' + request.origin + ' rejected.'); return; }