我有很多渠道做不同的事情,如下所示:
starting_channel
game_channel
food_channel
chat_channel
其中可能只有100个。
每个人都可以加入starting_channel
。稍后我可以将套接字订阅到其他频道主题并相应地广播到不同的主题。但问题是我无法在这些渠道中重复使用handle_in
功能,因为用户实际上并未真正加入这些功能。
例如,让我们说room_channel有这个处理程序:
def handle_in("show_room_happy_users", _payload, socket) do
broadcast! socket, "happy_users", Presence.list(socket)
{:noreply, socket}
end
但是,当您通过show_room_happy_users
发送starting_channel
消息时,您没有加入此频道,就不会发生任何事情。
有没有办法在不加入所有频道的情况下实现这一目标?