gpt4 book ai didi

ruby-on-rails - 如何在 rails/actioncable 中向除发件人以外的所有客户端发送消息?

转载 作者:数据小太阳 更新时间:2023-10-29 06:50:57 28 4
gpt4 key购买 nike

在 socket.io 中,你可以向除发送者之外的所有客户端发送消息,例如:

socket.broadcast.emit('user connected');

但是在 rails/actioncable 中,该怎么做呢?

class BoardChannel < ApplicationCable::Channel
def subscribed
stream_from "board:#{params[:board]}"
end

def speak
# client will call @perform('speak')
result = do_something()
# how to send 'result' to all client except sender?
end
end

最佳答案

我整个下午都在为这个问题烦恼。都准备放弃了,刚躺在床上,脑子里灵光一闪,灵机一动! ! !登录分享

 class BoardChannel < ApplicationCable::Channel
def subscribed
stream_from "board:#{params[:board]}"
stream_from "global_stream"
end
end

然后,当你想广播所有用户时,你可以:

ActionCable.server.broadcast "global_stream", "some messages"

当然也可以给特殊用户广播。你可以:

ActionCable.server.broadcast "board:#{params[:board]}", "some messages"

完美!!!

关于ruby-on-rails - 如何在 rails/actioncable 中向除发件人以外的所有客户端发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38892367/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com