Не отрабатывается socket.emit с клиента на сервере. Node.js & Socket.io

Имеется сервер-сайд код на node.js - socket.io

io = require('socket.io')(server);
io.on('connection', (socket) => {
    console.log('One user connected: ' + socket.id);
    socket.emit('giveName', socket.id);
    io.on('userReg', (userName, userPwd)=>{
        console.log(userName + " " + userPwd);
    });
});

И клиент-сайд код socket.io

let socket = io.connect('http://localhost', {
    reconnection: false
});    
let userName = "";
//create name
socket.on('giveName', function(name) {
    if((userName = prompt('Введи ник', "Anonim " + name)) && (userPwd = prompt('Введи пароль', ''))) {
        socket.emit('userReg', 1, 1);
    } else {
        userName = "Anonim " + name;
        return userName;
    }
});

Хочу при подключении спросить логин, пароль у юзера, передать на сервер и уже в консоли вывести эти данные. Передаю их через socket.emit с клиента, обрабатываю io.on('userReg', ...), но ничего не работает. Условие с запросом ника и пароля работает, не работает именно передача и обработка этого события - 'userReg'. Кто поможет с данной проблемой, буду благодарен


Ответы (1 шт):

Автор решения: MERDY - нарезки Пятерки

Решено! На сервере делать внутренний обработчик событий не на io, а на socket. Вопрос закрыт

→ Ссылка