在这里,我遇到一个带有nodejs的socket.io中的回调问题
io.sockets.to(usersocketid).emit('receivemsg',
{'success':'1','data':message},function(deliverycb){
console.log('delivery call back');
console.log(deliverycb);
});
广播时不支持我遇到的回调错误,因此任何人都可以解决。
答案 0 :(得分:2)
发出没有任何回调。首先广播您的数据,然后登录控制台
let broadcastData = {'success':'1','data':message};
io.sockets.to(usersocketid).emit('receivemsg',broadcastData );
console.log('delivery call back');
console.log(broadcastData );
答案 1 :(得分:0)
由于要使用回调进行确认,并且要遵守socket.io文档。
我会说,如果您需要将确认发送到服务器,则从客户端发出另一个事件。
答案 2 :(得分:0)
首先,从id中获取套接字对象,您可以参考Socket.IO 1.0.x: Get socket by id
然后使用套接字对象socket.emit('type', 'message', ack =>{});
答案 3 :(得分:0)
您可能试图从服务器端发出确认,而未指定 socket.id;
顺便说一下,您可以避免该错误,将确认请求移至 clint 端,而只在服务器端处理回调。