Я пытаюсь отобразить сообщение, когда пользователь отключается от сервера. В настоящее время он работает в том, что он будет отображать сообщение всем подключенным пользователям. Тем не менее, если я пытаюсь использовать переменную user для отображения того, какой пользователь отключился, он показывает имя подключенного клиента для себя, а не фактического пользователя, который ушел. Я попробовал пару вещей, но не могу заставить его работать, и это то, что я придумал. В браузере следующий код будет отображать «undefined покинул чат», когда кто-то отключится.
Как я могу исправить это, чтобы отобразить фактическое имя пользователя?
В сценарии. js:
var user = user;
if (!user) {
user = prompt('Please choose a username:');
if (!user) {
alert('Your name has been set to "Anonymous"');
} else {
alert('Your name has been set to "'+ user +'"');
}
}
socket.emit('user disconnected', {
user: user
});
socket.on('user disconnected', (data) => {
$('.chat').append(data.user + " has left the chat");
});
На сервере. js:
server(socket('disconnect', ctx => { console.log(ctx.data); ctx.io.emit('user disconnected', ctx.data); }));
Кроме того, после отключения пользователя сообщение «Транспортное закрытие» отправляется на консоль, а я Я не уверен, что это значит.