socketio 中 `socket.broadcast.to(param)` 的用途是啥
Posted
技术标签:
【中文标题】socketio 中 `socket.broadcast.to(param)` 的用途是啥【英文标题】:What is the purpose of `socket.broadcast.to(param)` in socketiosocketio 中 `socket.broadcast.to(param)` 的用途是什么 【发布时间】:2015-09-06 05:47:15 【问题描述】:在学习 Node.js 时,我遇到了一个编写聊天系统的示例。
代码中的某处有以下行:
socket.broadcast
.to(message.room)
.emit('message', theMessage);
我不明白to
函数在做什么。另外,我在客户端代码中没有找到任何线索。如果代码没有to(message.room)
部分会怎样?
【问题讨论】:
Whats the difference between io.sockets.emit and broadcast? 的可能重复项 @laggingreflex 我的具体问题是关于to
方法的使用。我现在已经知道sockets.emti
和broadcast
之间的区别了。
.to
用于发射到房间:socket.io/docs/rooms-and-namespaces/#rooms
【参考方案1】:
socket.broadcast.to 向给定房间中的所有套接字广播,但调用它的套接字除外。
更多详情:http://socket.io/docs/server-api/#socket#to(room:string):socket
【讨论】:
我只是不明白房间的意思。当您在 C++ 中使用套接字编程时,没有空间之类的概念。套接字只能与消息通信。 通过使用房间,您还可以定义套接字可以加入和离开的任意通道。这提供了一个特定的事件,该事件仅被发送到该房间的已连接套接字。我没有在 C++ 中使用过套接字,所以对此我无能为力。以上是关于socketio 中 `socket.broadcast.to(param)` 的用途是啥的主要内容,如果未能解决你的问题,请参考以下文章