实现套接字的最佳方式是什么?io作为ExpressJS中的子模块

What's the best way to implement socket.io as a submodule within ExpressJS?

本文关键字:ExpressJS 作为 模块 io 套接字 最佳 方式 是什么 实现      更新时间:2023-09-26

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

我也想有一些实时套接字交互,所以我试图整合socket.io。我正在努力寻找最好的方法来做到这一点作为一个子应用程序,并允许Express和socket。

你可以把所有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);