Chris Mendez in NodeJS, For Developers

Simple Socket.io Example

<!DOCTYPE html>  
<html>  
  <head>
    <title>My App</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="Chris Mendez">
    <link rel="shortcut icon" href="/icons/logo-256x256.ico" type="image/vnd.microsoft.icon">
    <!--Bootstrap-->
    <link rel="stylesheet" href="/css/plugins/bootstrap.min.css">
    <!--Bootstrap Theme-->
    <link rel="stylesheet" href="/css/themes/bootstrap.min.css">
    <!--Bootstrap Responsive-->
    <link rel="stylesheet" href="/css/plugins/bootstrap-responsive.min.css">
    <!--jQuery-->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <!--Google Web Fonts-->
    <script src="//ajax.googleapis.com/ajax/libs/webfont/1.1.2/webfont.js"></script>
    <!--Twitter Bootstrap-->
    <script src="/js/plugins/bootstrap.min.js"></script>
    <!--Socket.io-->
    <script src="/socket.io/socket.io.js"></script>
    <!--Global-->
    <script>
      $(document).ready(function() {
          var socket = io.connect('http://localhost');
            //Listen for server handler "news"
            trace( "Listening for 'news' event sent from server.js" );
            socket.on('news', function ( data ){
                trace( "'news' event fired:: " + data )
                trace( "sending data.hello to 'tmpEvent' w/ message " + data.hello );
                socket.emit('tmpEvent', { my: data.hello });
        });

      });
    </script>
  </head>
  <body>
      <header>

        </header>

        <section>
            <p></p>
        </section>
    <footer></footer>  
  </body>
</html>  
/************************************************
* Title: Simple Socket.io
* Desc: A simple socket.io example
* Modified:
* Notes:
* 
************************************************/

var app = require('http').createServer(handler);  
var fs = require('fs');  
var io = require('socket.io').listen(app);

function handler (req, res) {  
  console.log( req, res );
  fs.readFile( __dirname + '/views/index.html', function (err, data)
  {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }
    res.writeHead(200);
    //Write out index.html
    res.end(data);
  });
}

//Sockets can be used on top of page rendering
io.sockets.on('connection', function (socket) {  
  //Send data to client (index.html)
  socket.emit('news', { hello: 'world' });
  //Receive data from client (index.html)
  socket.on('tmpEvent', function (data) {
    console.log( "'tmpEvent' fired::", data.my );
  });
});

app.listen( process.env['app_port'] || 8080 );