express 2.x までは socket.io と以下のように組み合わせて使うことができました。
var express = require('express')
, app = express.createServer()
, io = require('socket.io').listen(app);
app.listen(3000);
express Wiki の Migrating from 2.x to 3.x によれば、3.x から express.createServer() のかわりに express() を使うようになりましたが、express() の戻り値は http.Server ではありません。socket.io の listen() は http.Server を引数にとるので、以下のように http.createServer() でラップしたものを使う必要があります。
var express = require('express')
, http = require('http')
, app = express()
, server = http.createServer(app)
, io = require('socket.io').listen(server);
server.listen(3000);