socket.emit и socket.on не подключены - PullRequest
0 голосов
/ 29 марта 2020

Я добавлял страницу чата в свое существующее приложение express, используя socket.io. Код моего сервера:

var io = socket(server);
io.on('connection', (socket) => {
    console.log('made socket connection', socket.id);
    // Handle chat event
    socket.on('chat', function(data){
        console.log("second");
        io.sockets.emit('chat', data);
    });

});

и код моего клиента:

var socket = io.connect("http://localhost:3000/chat")

//Query elements
var message = document.getElementById('message'),
    btn     = document.getElementById('send'),
    output  = document.getElementById('output');

btn.addEventListener("click", function(){
    socket.emit('chat', {
        message: message.value,
    });
    console.log("First")
    message.value = "";
})     
socket.on('chat', function(data){
    console.log("final function")
    output.innerHTML += `<p>${data.message}</p>`;
});

socket.emit запускается при щелчке на стороне клиента, но socket.on на сервере не запускается. Примечание: console.log («выполнено подключение через сокет», socket.id); работать нормально

1 Ответ

0 голосов
/ 29 марта 2020

есть проблема на вашей стороне клиента. вы пытаетесь соединиться с namsespaces "чат", удалить чат

var socket = io.connect("http://localhost:3000")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...