gpt4 book ai didi

javascript - Socket.io 创建一个单独的事件处理程序文件

转载 作者:行者123 更新时间:2023-12-03 06:39:18 26 4
gpt4 key购买 nike

我已经创建了一个套接字连接,目前我希望清理并让一切井井有条。

这是我当前文件结构的图像 FILE STRUCTURE

所以我想做的是采取

socket.on("send message", function(data){
io.sockets.emit("new message", data);
});

并将其放入名为 socketEvents.js 的文件中,该文件位于 main --> js 中。

但是,我不能 100% 确定如何在成功连接时包含该文件。我尝试过使用像 require(); 这样的东西但无济于事。是否有包含单独文件来运行事件的标准方法?或者这不是一个好的做法?

编辑:

这里有一个jsfiddle,只是为了提供所有可用的代码:https://jsfiddle.net/7qya7j18/

最佳答案

您可以将所有 socket.io 代码移至另一个模块,然后在初始化时将其传递给服务器。如果您通过文本(而不是通过图像)将代码包含在问题中,那么这个答案会更容易编写,因此请将来这样做。

主要模块:

var express = require("express"),
app = express(),
server = require("http").createServer(app);

server.listen(3000, function() {
console.log("Server is running");
});

app.use(express.static("main"));

// now load and initialize my socket.io module
require('./mysockets')(server);

mySockets 模块:

var io = require("socket.io");

// declare module constructor that is passed the http server to bind to
module.exports = function(server) {
io.listen(server);

io.on("connection", function(socket) {
// player has connected
console.log("Player connected");

socket.on("disconnect", function() {
console.log("Player disconnected");
});

socket.on("send message", function(data) {
io.emit("new message", data);
});
});
};

关于javascript - Socket.io 创建一个单独的事件处理程序文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040306/

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