如何在同一个端口上使用ExpressJS和Socket.io?

NiL*_*iLL 23 javascript node.js express socket.io

在ExpressJS的第三个版本中,express.createServer()更改为express(),这种更改使得很难在同一端口上绑定socket.io.也许有人可以找到有力的决定.

现在,这不起作用:

var express = require('express')
, app = express.createServer()
, io = require('socket.io').listen(app);
Run Code Online (Sandbox Code Playgroud)

我目前的工作流程:https://gist.github.com/3596852

Cri*_*hai 43

它在socket.io github页面上描述(正如@Golo在你的评论中所述):

var app = express()
  , server = require('http').createServer(app)
  , io = io.listen(server);

server.listen(80);
Run Code Online (Sandbox Code Playgroud)

这有效,我已经运行了.

大概是什么戈洛已经忘记了是改变从收听app.listen(80)server.listen(80).在我意识到自己的愚蠢错误之前,我也一直在努力.