客户端可以接收事件,但不能发射

我有我的客户这样设置:

var socket = io(); socket.on('thing', function(socket){ console.log('A user connected: ' + socket.data); }); function sendThing(){ var data = document.getElementById('myInput').value; console.log(data) socket.emit('message', { message: data }); } 

我可以接收事件就好,我有我的服务器发出一个事件,它注销罚款:

 io.on('connection', (socket) => { io.emit('thing', { data: 'thisisathing' }); }); 

编辑:我的on.messagefunction:

 io.on('message', (socket) => { console.log(socket.message); }); 

但是我的服务器从来没有收到消息,因为客户端的发射不会触发。 套接字存在,我没有得到任何错误。

我该如何解决?

尝试在你的连接函数中嵌套你的监听器,如:

 io.on('connection', (socket) => { socket.on('message', (socket) => { console.log(socket.message); }); }); 

如文档中所述

我认为你必须听取连接内的message

 io.on('connection', (socket) => { socket.emit('thing', { data: 'thisisathing' }); socket.on('message', (data) => { console.log(data.message); }); });