Socket.io服务器没有收到我的信号
我的应用是一个应用消息。我从客户端发出“发送消息”,我希望服务器执行操作。
这是我的代码:
客户端(因为我在控制台中有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在真实的代码中。)
我在服务器控制台中看不到任何日志。
我希望我的服务器按预期响应。
谢谢。
回答如下:您在接收套接字消息的函数中的参数不正确。应该只有一个参数数据是json对象,它具有来自该数据变量中的套接字的实际消息。
您的代码应如下所示:
io.on('send message', (data) =>{
console.log('bip!');
console.log('Message send from '+data.from+' saying '+data.message);
})
此外,您应该避免在套接字消息名称中使用空格。例如,使用消息而不是发送消息(确保在服务器和客户端JavaScript中用消息替换发送消息。