gpt4 book ai didi

node.js - Node js 中的通用 Socket IO Controller

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:53 26 4
gpt4 key购买 nike

我在我的 Node 服务器中使用套接字io,我在server.js(这是我的根文件)中初始化了套接字io。这就是我所实现的,

const io = require('socket.io’)(server);

io.on('connection', function(socket) {

    socket.on(‘test1’, function(data) {

       io.sockets.emit(“test2”, data);

      }); });

问题是,它只能在 server.js 中使用。在像我想在 Controller 内发出套接字的情况下,它会变得有点复杂。因此,我正在考虑将套接字分离为一个公共(public)文件,并在整个应用程序中使用它。我如何实现这一点,欢迎建议。提前致谢。

最佳答案

您可以按照以下说明进行操作:1)首先为socketio制作一个单独的文件并使用代码

const socket_io = require("socket.io");
const io = socket_io();

var Socket = {
emit: function(event, data) {
io.sockets.emit(event, data);
}
};

io.on("connection", function(socket) {
console.log("A user connected");
});

2)现在在您的服务器文件上初始化服务器上​​的套接字

const { io } = require("../utils/socket");
var server = http.createServer(app);

io.attach(server);

3)现在在您的 Controller 上,您可以使用 const { Socket } = require("../../utils/socket"); 只是导入和使用发出函数

关于node.js - Node js 中的通用 Socket IO Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54898492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com