Вот базовая c структура моего кода.
//Route Handler that fires when user 'creates a session'
app.post('/route', async (req, res) => {
let var1 = [];
let var2 = [];
io.on('connection', (socket) => {
//Use var1 and var2 here
socket.on('event', () => {
// Use var1 and var2 here
});
});
});
Мой код работает, пока один сеанс был создан и код запущен. Естественно, когда второй пользователь получает доступ к маршруту, он изменяет переменные для текущих сеансов, вызывая нежелательное поведение.
Я не хочу, чтобы мои переменные создавались для каждого соединения, а скорее для каждого события, известного как 'sessionMade', поэтому я помещаю переменные вне метода on connection. Если я вложу переменные в метод сокета, я не смогу использовать их для других методов socket.on.
Есть ли способ, которым я могу заключить все сокеты и глобальные переменные в один сеанс? Буду признателен за любую помощь, спасибо.