Question: So I'm currently moving a Node.js application from my local computer to a production server. Socket.IO (version 0.6.17) seems to work fine on my server, but the client errors out when trying to communicate to the server.

Here's some code:

```
<script src='http://cdn.socket.io/stable/socket.io.js'>
    // ...
    var socket = new io.Socket(null, { port: 47556 }).connect();
    // ...
</script>

```

And here's what Google Chrome's console outputs after every few seconds (continuously):

```
GET http://mysite.com:47556/socket.io/xhr-polling//1304476733618 undefined (undefined)

```

Someone mentioned that it may be due to a version difference between the client and socket.io versions, but I don't know how I'd check the client side version.

Answer: 
To be safe, I would use the socket.io client script distributed with the server. Change your script tag to reference "/socket.io/socket.io.js" (I think) and let your app serve it. This will also Flash Sockets work without having to put it in insecure mode (because of the cross-domain issue).
Turns out the problem was that WebSockets don't send normal HTTP requests, resulting in their getting trashed by nginx. From a [Q/A discussion](http://community.webfaction.com/questions/3448/using-websockets-with-a-nodejs-custom-app) with my hosting company, they said the solution would be to buy a private IP which would be specially used to listen for WebSocket connections.

I ended up going with [Nodester](http://nodester.com/) to host my Node.js app, though.