在Phoenix中,可以用类似的东西从控制器中广播到某个主题
MyApp.Endpoint.broadcast! "room:superadmin", "new_msg", %{uid: uid, body: body}
是否可以从控制器更新状态?
我的问题是因为要更新状态,您需要套接字,而在控制器中则不需要。
现在我正在尝试,在控制器中广播
MonitorWeb.Endpoint.broadcast! "room:lobby",
"update_presence", %{body: "hello world"}
并在频道中拦截
intercept ["update_presence"]
def join("room:lobby", _message, socket) do
...
end
def handle_out("update_presence", payload, socket) do
...
Presence.update(socket, id, %{content: "new content"
})
end