Elixir Phoenix:如何在通道中存储跨套接字共享的状态?

Elixir Phoenix:如何在通道中存储跨套接字共享的状态?,elixir,phoenix-framework,Elixir,Phoenix Framework,我有一个两个人聊天的应用程序。但在他们聊天之前,双方都必须按“接受” 在前端,我有一个调用此函数的按钮: function acceptMatch() { channel.push("accept_match", { "matched_client_email": matchedClientEmail, }); } 在我的凤凰频道中,我有以下内容(这是不完整的,因为我不知道该做什么): 实际上,您可能会在user\u socket中的connect中将此特定PID或代理名称传递

我有一个两个人聊天的应用程序。但在他们聊天之前,双方都必须按“接受”

在前端,我有一个调用此函数的按钮:

function acceptMatch() {
  channel.push("accept_match", {
    "matched_client_email": matchedClientEmail,
  });
}
在我的凤凰频道中,我有以下内容(这是不完整的,因为我不知道该做什么):


实际上,您可能会在
user\u socket
中的
connect
中将此特定PID或代理名称传递给每个新连接,它应该可以解决此问题。你只需要一个代理,所以你可以命名它,例如

Agent.start_link(your_func, name: :myagent)
然后从中得到

Agent.get(:myagent, your_get_func)
也可以考虑使用,这是从标准库中的灵丹妙药1.4来的。


此代理可以在
库中
中,您只需将其作为单个工作人员添加到
.ex
文件中,并在需要时由专门的主管对其进行监督。

ooo cool!当我试着做的时候,我得到了一个错误。。。用错误更新了我的问题是的,对不起。我更新了我的答案。名称必须符合中的要求
Agent.start_link(your_func, name: :myagent)
Agent.get(:myagent, your_get_func)