在ExpressJS的第三个版本中, express.createServer() 更改为 express(), 此更改使得很难在同一端口上绑定socket.io。也许有人可以找到明智的决定。
现在,这不起作用:
var express = require('express') , app = express.createServer() , io = require('socket.io').listen(app);
我当前的工作流程:https : //gist.github.com/3596852
它在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)。我也一直为此苦苦挣扎,直到我意识到自己的愚蠢错误。
app.listen(80)
server.listen(80)