Невозможно записать идентификатор сокета во время отключения в Node.js - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь зарегистрировать идентификатор сокета, когда пользователь выходит из чата.В настоящее время регистратор говорит, что «транспортная близость покинула чат» вместо того, чтобы регистрировать идентификатор сокета.

Я смог заставить его регистрировать «транспортная близкая» или «неопределенная», но не могу получитьэто сохранить файл socket.id до закрытия соединения.Что я делаю не так?

io.on('connection', function(socket){
    var user_id = socket.id;
    io.emit('broadcast', `--${user_id} has joined the chat room`);
    console.log(`[${user_id}] has joined the chat room`);
socket.on('chat message', function(msg){
    io.emit('chat message', `[${user_id}] ${msg}`);
    console.log(`[${user_id}] ${msg}`);
});
socket.on('disconnect', function(user_id){
    io.emit('broadcast', `${user_id} has left the chat room`);
    console.log(`${user_id} has left the chat room`);
    })
});

1 Ответ

0 голосов
/ 17 октября 2018

Используйте socket.id вместо user_id.Ваш обратный звонок function(user_id) неверен.

socket.on('disconnect', function(){
       io.emit('broadcast', socket.id + ' has left the chat room');
       console.log(socket.id + ' has left the chat room');
})
...