广播时不支持回调

时间:2018-10-06 05:59:44

标签: node.js callback socket.io

在这里,我遇到一个带有nodejs的socket.io中的回调问题

io.sockets.to(usersocketid).emit('receivemsg', 
{'success':'1','data':message},function(deliverycb){ 
    console.log('delivery call back');
    console.log(deliverycb);
});

广播时不支持我遇到的回调错误,因此任何人都可以解决。

4 个答案:

答案 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文档。

    广播时不支持
  1. Acknowledgements
  2. 从名称空间发出时,不支持
  3. Acknowledgements

我会说,如果您需要将确认发送到服务器,则从客户端发出另一个事件。

答案 2 :(得分:0)

首先,从id中获取套接字对象,您可以参考Socket.IO 1.0.x: Get socket by id

然后使用套接字对象socket.emit('type', 'message', ack =>{});

答案 3 :(得分:0)

您可能试图从服务器端发出确认,而未指定 socket.id;

顺便说一下,您可以避免该错误,将确认请求移至 clint 端,而只在服务器端处理回调。