gpt4 book ai didi

node.js - 通过多个页面将变量保存在socket.io中

转载 作者:搜寻专家 更新时间:2023-11-01 00:07:53 24 4
gpt4 key购买 nike

我是 node.js 和 socket.io 的新手,所以其中一些问题可能看起来很愚蠢。话虽如此,我一直在尝试开发一个可以在不同页面之间存储用户名的应用程序。例如,我在一页上设置了我的用户名。然后我被重定向到另一个页面,但我的用户名仍然保留为套接字连接中可访问的变量。

这是我的基本服务器设置:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/set', function(req, res){
res.sendfile('set.html');
});

app.get('/get', function(req, res){
res.sendfile('get.html');
});


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



});


http.listen(3000, function(){
console.log('listening on *:3000');
});

我的问题是:

1.) 是否可以知道socket当前在哪个页面?如果是这样,如何?

2.) 我如何与 io.on(...) 中的信息进行交互?

我尝试过为 socket.io 和 express 使用 session 中间件,但似乎无法正常工作。我很确定使用 session 是最好的方法,但我不知道如何实现它们。关于设置可通过不同页面访问的 session 的任何建议也很好。

谢谢!

最佳答案

您必须为此使用快速 session 和握手:

    sock.on('your_socket_name', function (data) {
sock.handhsake.session.name = data.name;
sock.handshake.session.save();
});

通过此链接,它一定会对您有所帮助:

https://www.npmjs.com/package/socket.io-handshake

关于node.js - 通过多个页面将变量保存在socket.io中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665623/

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