Как сохранить несколько имен пользователей и отобразить их на экране чата? Разъем.ио

#node.js #socket.io

Вопрос:

Я новичок в сокете.io и удалось создать приложение для чата, но я изо всех сил пытаюсь добавить имена пользователей к каждому пользователю в приложении для чата. Поэтому я добавил «приглашение», чтобы спросить имя, и когда пользователь вводит что-то в приложении, оно отображает сообщение чата с именем пользователя, однако, когда другой пользователь подключается с другим именем, оно показывает сообщения каждого пользователя с одинаковым именем, например, пользователь1 видит все сообщения с именем пользователь1, а пользователь2 видит все сообщения с именем пользователь2, даже если это от пользователя 1 или пользователя 2. Пожалуйста, помогите! Спасибо!

Script.js

 const socket = io();
const chat = document.querySelector('.chat-form');
const Input = document.querySelector('.chat-input');
const chatDisplay = document.querySelector('.chat-display');

var users = prompt('What is your name');

chat.addEventListener('submit', event => {
    event.preventDefault();
    socket.emit('chat', Input.value);
    Input.value = '';
});

const renderMessage = msg => {
    const div = document.createElement('div');
    div.classList.add('render-message');
    div.innerText = msg;
    chatDisplay.appendChild(div);
}

socket.on('chat', msg => {
    renderMessage(users   ': '   msg);
});
 

Index.js

 const express = require('express');
const app = express();
const server = require('http').createServer(app);
const port = process.env.PORT || 3000;
const io = require('socket.io')(server);
const users = {};

app.use(express.static(__dirname   '/public'));

io.on('connection', socket => {
    socket.on('chat', msg => {
        io.emit('chat', msg);
    }); 
 });

server.listen(port, () => {
    console.log(`Server is running on port ${port}`);
});