在第三版ExpressJS express.createServer()更改为 express()时,此更改使得很难在同一端口上绑定socket.io。也许有人可以找到可靠的决定。
现在,这不起作用:
var express = require('express')
, app = express.createServer()
, io = require('socket.io').listen(app);
我目前的工作流程:https://gist.github.com/3596852
答案 0 :(得分:38)
它在socket.io github页面上描述(在评论中说明为@Golo):
var app = express()
, server = require('http').createServer(app)
, io = io.listen(server);
server.listen(80);
这有效,我已经运行了。
可能Golo忘记的是将聆听从app.listen(80)
改为server.listen(80)
。我也在努力解决这个问题,直到我意识到自己犯了愚蠢的错误。
答案 1 :(得分:0)
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)