如何在同一个端口上使用ExpressJS和Socket.io?
在ExpressJS的第三个版本中, express.createServer()更改为express(),这一更改使得难以在同一个端口上绑定socket.io。 也许有人可以find强有力的决定。
现在,这不起作用:
var express = require('express') , app = express.createServer() , io = require('socket.io').listen(app);
我目前的工作stream程: 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)
。 我也一直在努力,直到我意识到我的愚蠢的错误。
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)