0

我有很多频道在做不同的事情,如下所示:

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什么都不会发生。

有没有办法在不同时加入所有频道的情况下实现这一目标?

4

0 回答 0