首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在同一端口上使用ExpressJS和Socket.io?

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

Stack Overflow用户
提问于 2012-09-02 18:59:36
回答 2查看 20.3K关注 0票数 31

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

现在,这不起作用:

代码语言:javascript
复制
var express = require('express')
, app = express.createServer()
, io = require('socket.io').listen(app);

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-02 23:36:30

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

代码语言:javascript
复制
var app = express()
  , server = require('http').createServer(app)
  , io = io.listen(server);

server.listen(80);

这行得通,我让它运行起来。

也许Golo忘记的是将listen从app.listen(80)改为server.listen(80)。我也一直在与此作斗争,直到我意识到我犯了一个愚蠢的错误。

票数 51
EN

Stack Overflow用户

发布于 2012-09-02 22:41:18

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12235406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档