Socket.io服务器没有收到我的信号

时间:2018-01-12 15:38:00

标签: javascript node.js sockets

我的应用是一条应用消息。我发出了一条发送消息'从客户端,我希望服务器做的事情。

这是我的代码:

客户端(因为我的控制台中有console.log,所以正常工作)

$('.send').click( () => {
    const message = $('#message').val()
    socket.emit('send message', {from: "Maxime", message: message});
    console.log('Message Send: Maxime - ${message}');
})

服务器(Express - app.js)

io.on('send message', (from, message) => {
    console.log('bip!');
    console.log('Message send from ${from} saying ${message}');
})

(backtide在真实代码中。)

我在服务器控制台中看不到任何日志。

我希望我的服务器按预期响应。

谢谢你。

1 个答案:

答案 0 :(得分:0)

您收到套接字消息的函数中的参数不正确。应该只有一个参数 data 是一个json对象,它在 data 变量中有来自套接字的实际消息。

您的代码应如下所示:

  io.on('send message', (data) =>{ 
     console.log('bip!');
     console.log('Message send from '+data.from+' saying '+data.message); 
    })

此外,您应该避免在套接字消息名称中使用空格。例如,使用消息而不是发送消息(确保在服务器中用消息替换发送消息和客户端JavaScript。