Ten eerste geloof ik dat je dit kunt veranderen (verwijder de extra vereiste van http en stel io in om naar de server te luisteren):
// Init App
var app = express();
var server = require("http").Server(app);
var io = require("socket.io").listen(server);
Als je client-side op een andere poort draait dan je server, moet je ook je import veranderen, denk ik. Anders zou dat stuk misschien wel goed zijn. Ik denk niet dat je de .connect op io nodig hebt in var socket =io.connect(); De mijne werkt sowieso zonder.
<script src='http://localhost:3000/socket.io/socket.io.js'></script>