也许我的逻辑是完全错误的,但是据我所知它应该只发出一次。基本上,负载中发生的事情将只发出一次。刷新将使其发射两次,然后发射三次,然后发射4次。依此类推。
发现:如果我注销并重新登录,它会不断增加。
编辑:好的,所以我不是会话用户,而是通过发出一个随机数,只是为了确保它发出了不止一次,而且每个数字都不同,所以它确实触发了不止一次。 / p>
socket.io主文件
const loadup = require("../funcs/loadup");
module.exports = io => {
io.sockets.on("connect", socket => {
loadup(socket);
});
};
加载文件:
module.exports = socket => {
let session = socket.handshake.session;
socket.emit("load up", session.user);
};
路线:
// Game route
app.get("/game", (req, res) => {
if (req.user) {
let gameMainSocket = require("./sock/game-main-socket")(io);
res.render("game", req.session.user);
} else {
res.redirect("/");
}
});
发射事件客户端:
socket.on("load up", data => {
console.log("Hello");
console.log(data);
});
答案 0 :(得分:0)
我删除了
let gameMainSocket = require("./sock/game-main-socket")(io);
在路线之外,可以解决此问题。