【问题标题】:Callbacks are not supported when broadcasting广播时不支持回调
【发布时间】:2019-03-11 14:01:20
【问题描述】:

在这里,我遇到了一个使用 nodejs 的 socket.io 回调问题

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

广播时不支持回调错误,因此任何人都有解决方案。

【问题讨论】:

    标签: node.js callback socket.io


    【解决方案1】:

    由于您使用回调进行确认,并且根据 socket.io 文档。

    1. 直播时不支持Acknowledgements
    2. 从命名空间发射时不支持Acknowledgements

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • iam 使用套接字对象,但是当我添加回调参数时,套接字不发送任何内容。
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-11-05
        • 1970-01-01
        • 2017-11-23
        • 2017-02-14
        • 1970-01-01
        • 2021-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多