Я хочу хранить данные в переменной, но они должны быть специфичными для пользователя.
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var storedata='';
app.get('/:accountcode', function(req, res){
res.sendFile(__dirname + '/index.html');
storedata=req.params.accountcode;
});
io.on('connection', function(socket){
socket.on('initialize', function(msg){
console.log(storedata); //Here all users data can be seen.
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
Теперь я получаю доступ к этой ссылке для другого кода учетной записи из другого браузера, я вижу, что переменная сохраненных данных является глобальной, и она поддерживается и не поддерживается по-разному для разных пользователей.
Как объявить переменную, чтобы она не заменялась и оставалась специфичной только для пользователя. Чтобы решить проблему, я сгенерировал один уникальный идентификатор на app.get
и передал его клиентской стороне и по запросу на сервер, передавая этот идентификатор, чтобы переменная поддерживалась с другим идентификатором, чтобы она оставалась уникальной для всех пользователей, таких как.
storedata[uniqid]=req.params.accountcode
и получить к нему доступ только с помощью uniqid
. Это работает, но по всем запросам я могу видеть все данные идентификатора, было бы здорово, если бы они могли поддерживаться только по-другому.