【发布时间】:2016-10-29 23:35:22
【问题描述】:
我正在编写一个使用 express 来处理 HTTP 请求的服务器端 node.js 应用程序,并且我正在添加 websockets (socket.io) 支持。但是我无权访问启动 HTTP 服务器的代码。我正在编写一个快速路由器和函数来处理各种 URL。我的代码如下:
var express = require('express');
var router = express.Router();
router.post( myURL, myFunction );
在设置路由器时,我也想使用 socket.io 来监听 websocket 连接。我无法将express 或express() 传递给require('socket.io')( xxx ),我需要传递http.Server 对象。但是由于我没有启动服务器,那怎么弄呢?
【问题讨论】:
-
尝试从 myFunction stackoverflow.com/questions/20548921/… 中的 req 访问服务器
-
启动服务器的代码在哪里?您显示的代码根本不会启动服务器。你的代码中应该有一个
xxx.listen()。据我所知,您无法从 Expressapp对象中获取服务器对象。它不知道服务器。但是您的xxx.listen()代码将知道服务器,因此您需要从那里获取它。
标签: javascript node.js express socket.io