In the third version of ExpressJS express.createServer() changed to express() this changes makes difficult to bind socket.io on a same port. Maybe somebody
It's described on the socket.io github page (as @Golo stated in your comment):
var app = express()
, server = require('http').createServer(app)
, io = io.listen(server);
server.listen(80);
This works, I have it running.
Probably what Golo have forgotten is to change the listen from app.listen(80)
to server.listen(80)
. I've struggled with this too until I realised my stupid mistake.
var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
app.start = app.listen = function(){
return server.listen.apply(server, arguments)
}
app.start(8080)