两者之间有什么区别
socket.broadcast.to()。emit()
和
socket.to()。emit()
socket.to('game').emit('nice game', "let's play a game"); // sending to all clients in 'game' room except sender
然后在this tutorial blog中说:
socket.broadcast.to('game').emit('message', 'nice game'); //sending to all clients in 'game' room(channel) except sender
socket.to('game').emit('message', 'enjoy the game'); //sending to sender client, only if they are in 'game' room(channel)
所以现在我真的很困惑。
其中一种解释是错误的吗?
发送给发件人客户端的东西是什么,只有当他们在“游戏”房间(频道)中时才发是什么意思?这是否意味着如果是群聊,只有一个人(消息的发件人)会收到它?是什么意思?
如果socket.io cheatsheet是准确的,如果通过调用将发送到“游戏”室中除发件人之外的所有客户端 ,. broadcast.emit()的目的是什么? :socket.to('game').emit();
? socket.broadcast.emit()
是否仅用于发送到同一名称空间上的所有客户端(发送方除外)?但是,如果要发送给特定房间中的所有客户(发件人除外),则使用socket.to().emit()
而不是socket.broadcast.to().emit()
吗?
谢谢。
答案 0 :(得分:1)
在“ https://dev.to/moz5691/socketio-for-simple-chatting---1k8n
上socket.to('game')。emit('message','enjoy the game'); //仅发送给发送方客户端,前提是它们位于“游戏”房间(频道)中。
此特定发射仅在游戏室通道中从服务器发送到发送方客户端。
不过,广播 socket.broadcast.to('game')。emit('message','nice game'); 发送给“游戏”房间(通道)中的所有客户端,发件人除外。
注意到以下段落中他又解释了一个错误:
客户端-> sendMesssage->服务器
服务器<-receiveMessage-服务器
应该是客户端<-receiveMessage-服务器。
希望有帮助。