【问题标题】:What's the best way to implement socket.io as a submodule within ExpressJS?在 ExpressJS 中将 socket.io 实现为子模块的最佳方法是什么?
【发布时间】:2013-02-28 12:16:32
【问题描述】:

我正在尝试使用 tjholowaychuk 建议的子模块架构构建基于 ExpressJs 的应用程序。

我还想有一些实时套接字交互,所以我正在尝试集成 socket.io。我正在努力寻找作为子应用程序执行此操作的最佳方法,并允许 Express 和 socket.io 一起收听。

【问题讨论】:

  • 你读过socket.io/#how-to-use('使用 Express (3) web 框架')吗?
  • 我确实做过 RTFM,但我在将它用作子模块时遇到了问题。
  • 您能详细说明一下吗?不确定“将其用作子模块”是什么意思。
  • 我希望我的 socket.io 逻辑远离主应用程序。我假设我可以按照vimeo.com/56166857 的建议使用expressjs.com/api.html#app.use 来做到这一点

标签: javascript node.js websocket socket.io express


【解决方案1】:

您可以将所有socket.io 相关代码放在一个单独的文件中:

// socketio.js
var sio = require('socket.io');
module.exports = function(server) {
  var io = sio.listen(server);
  io.sockets.on('connection', ...);
  return io;
};

// app.js
var app    = require('express')(), 
    server = require('http').createServer(app),
    io     = require('./socketio')(server);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 2013-10-17
    相关资源
    最近更新 更多