swi*_*cki 91 node.js socket.io
io.sockets.emit和socket.broadcast.emit有什么区别?只是广播向每个人发出但是发送它的套接字吗?
看起来它们可以互换使用:
io.sockets.on('connection', function (socket) {
//these should do the same thing
io.sockets.emit('this', { receivers: 'everyone'});
socket.broadcast.emit('this', { receivers: 'everyone but socket'}); //emits to everyone but socket
socket.emit('this', { receivers: 'socket'}); //emits to socket
});
Run Code Online (Sandbox Code Playgroud)
Jay*_*ena 163
io.sockets.emit 将发送给所有客户
socket.broadcast.emit 将消息发送到除新创建的连接之外的所有其他客户端
这个Socket.IO Wiki帖子将帮助每个人阅读这个问题:
Kar*_*Rao 44
socket.broadcast.emit()行为类似于io.sockets.emit,但不是发射到所有连接的套接字,它将发射到所有连接的套接字,除了它被调用的套接字.因此,在这种情况下,引用的套接字socket将不会收到该事件.
方案:1: -通过使用io.sockets.emit 详细图解:-io.sockets.emit
这里每个Socket获取消息,包括启动器.
// BY IO>SOCKETS>EMIT
io.sockets.emit('MyChannelBroadcast',
{
owner:"Anshu Ashish",
clientCount:clients,
message:"Welcome All"
}
);
Run Code Online (Sandbox Code Playgroud)
场景:2: - 通过使用socket.broadcast.emit 详细图表:-socket.broadcast.emit
这里每个套接字都会收到消息,除了一个启动器.
// BY SOCKET>BROADCAST>EMIT
socket.broadcast.emit('BroadCastExceptMe',{data:"HAVE A NICE DAY"});
Run Code Online (Sandbox Code Playgroud)
结论: - 现在,完全取决于我们的业务需求,哪一个更受欢迎.
| 归档时间: |
|
| 查看次数: |
70669 次 |
| 最近记录: |