客户端可以接收事件,但不能发射
我有我的客户这样设置:
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); }); });