【问题标题】:broadcast is also broadcasting the same user who is typing广播也在广播正在输入的同一个用户
【发布时间】:2023-03-08 18:55:01
【问题描述】:

每次我登录并开始输入时,广播也会广播正在输入的同一个用户,直到我刷新页面,如果我刷新它,那么它只广播给其他用户会很好。

服务器端

socket.on("typing", function (data) {
   socket.broadcast.to(data.room).emit("typing", data.typing);
});

客户端

useEffect((){
   socket.on("typing", function(data){
       setTyping(data);
    })
}, [socket, setTyping])

如何在不刷新页面的情况下解决此问题。

【问题讨论】:

  • 我的回答对你有帮助吗@khalid-hussein?如果是这样,请将我的答案设置为您问题的首选答案

标签: node.js reactjs socket.io


【解决方案1】:

要能够发送给特定房间内除发件人以外的所有用户,您需要使用socket.to(data.room).emit('typing', data.typing);

As by socketio cheatsheet

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多