【发布时间】:2015-09-02 19:41:13
【问题描述】:
假设Channel 有多个用户连接到特定主题,例如"rooms:lobby",我希望能够存储与频道相关联的信息,我可以检索并可能在每次收到新消息时进行更新in. 从某种意义上说,我希望每个主题都是自己的 GenServer-like 事物。
据我所知,Phoenix.Socket.assign/3 存储每个用户的本地信息,因此无法正常工作。
【问题讨论】:
-
我不能完全告诉@Havvy,但我认为您将几个不同的概念混为一谈。我认为 Channel 是 Phoenix 的概念,其中“房间”是特定于您的聊天应用程序的东西。也许改写你的问题?就目前而言,这有点令人困惑。
-
是的,多阅读参考文档,我发现它被称为“主题”,而不是房间。我会更新问题以使用正确的术语。
-
你想只将信息存储在内存中还是持久化?什么样的数据,例如整个对话或围绕事件/时间/等数量的“元式”数据?
-
我想我理解@Havvy 的问题,看起来可以这样看:如果Phoenix 让你做
def join("room:" <> roomid, _params, socket) do,我如何访问handle_in或handle_out中的roomid,例如.