Как создать сокеты, которые являются специфическими для пользователя и доступны на Socket.Io - PullRequest
0 голосов
/ 17 апреля 2020

Я пишу приложение Node.Js и использую Socket.Io в качестве системы передачи данных, поэтому запросы должны быть индивидуальными для каждого пользователя. Как я могу это сделать?

Мой фактический код;

узел:

io.on('connection', (socket) => {
    socket.on('loginP', data => {
        console.log(data);
    })
})

js:

var socket = io('',{forceNew : false});

$("#loginbutton").click(function() {
    var sessionInfo = {
        name : $("#login input[name='username']").val(),
        pass : $("#login input[name='pass']").val()
    }

    socket.emit("loginP", sessionInfo)

})

Возвращает еще один Данные для каждого запроса, и это проблема для меня. Могу ли я сделать это на Socket.Io или я должен использовать другой модуль, и если я должен, какой модуль?

1 Ответ

0 голосов
/ 17 апреля 2020

Если я правильно понимаю ваш вопрос (возможно, нет), вы хотите иметь только одно подключение от браузера каждого пользователя к вашей программе nodejs.

На стороне nodejs ваш Событие io.on('connection'...) запускается при каждом новом входящем пользовательском соединении и дает вам socket для этого указанного c соединения. Так что следите за своими розетками; у вас будет один сокет на пользователя.

На стороне браузера вы должны создать свой код, чтобы он вызывал

var socket = io(path, ...);

один раз для каждого пути (ваш путь '' ). Опция forceNew предназначена для ситуаций, когда у вас есть несколько путей из одной программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...