NodeJS + Socket.io: client won't connect on Ubuntu server in homenetwork

I've set up a Ubuntu 10.04 server in my home network. I installed a lamp-server, NodeJs and Socket.io on it. It al seems to work fine but I can not make a connection from my client to the server. I think that I am missing the point of where to store the client files and/or how to the IP adress and port should be put in the code.

I'm using the example from David Walsh (http://davidwalsh.name/websocket). My ip-adress of the server is 192.168.1.113. On the client I store app.js in

/usr/local/bin

That is where node is installed as wel.

Server code

 // Require HTTP module (to start server) and Socket.IO
 var http = require('http'), io = require('socket.io');

 // Start the server at port 8000
 var server = http.createServer(function(req, res){ 

 // Send HTML headers and message
 res.writeHead(200,{ 'Content-Type': 'text/html' }); 
 res.end('<h1>Hello Socket Lover!</h1>');
 });
 server.listen(8000);

 // Create a Socket.IO instance, passing it our server
 var socket = io.listen(server);

 // Add a connect listener
 socket.on('connection', function(client){ 

 // Success!  Now listen to messages to be received
 client.on('message',function(event){ 
 console.log('Received message from client!',event);
  });
 client.on('disconnect',function(){
 clearInterval(interval);
 console.log('Server has disconnected');
 });

 });

When I start the server with Node and enter the adress in a browser (http://192.168.1.113:8000) I see 'Hello Socket Lover!' so I guess this works fine.

I store my client file (client.html) in

/var/www

That is where the home folder of my LAMP server is.

Client.html

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<script src="http://cdn.socket.io/stable/socket.io.js"></script>

<script> 
// Create SocketIO instance, connect
var socket = new io.Socket('http://192.168.1.113',{
  port: 8000
});
socket.connect(); 

// Add a connect listener
socket.on('connect',function() {
  console.log('Client has connected to the server!');
});
// Add a connect listener
socket.on('message',function(data) {
  console.log('Received a message from the server!',data);
});
// Add a disconnect listener
socket.on('disconnect',function() {
  console.log('The client has disconnected!');
});

// Sends a message to the server via sockets
function sendMessageToServer(message) {
  socket.send(message);
}

</body>
</html>

Now when I open this file in a browser (http://192.168.1.113/client.html) nothing happens. I see no connection on my Ubuntu server or other logs and there are no messages in the browser.

Ehmm... what am I doing wrong? I've tried for hours, changing all kind of things but still no result.

With the help of pmavik (see comments) my question is answered.

What I didn't know was how to serve the client file properly (index.html). I copied an example from www.socket.io, added the right ip-adress and port and now a connection is made.

The server file (app.js) and the client file (index.html) should be in the directory where Node is installed. The Node-server sends the client file to the browser so there is no need to put the client file in the /var/www directory where the 'normal' files for websites are.

app.js

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

app.listen(8000);

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

    res.writeHead(200);
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

index.html

<html>
<head></head>
<body>
<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://192.168.1.113:8000');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
</body>
</html>