如何从Phoenix Controller向频道广播消息?

Phi*_*ren 26 channel elixir phoenix-framework

有没有办法从该频道外部向频道广播消息?

也许是这样的Channel.broadcast topic, event, data

我在这里看到了类似的东西但是Phoenix.Channel.broadcast/3(截至今天)的最终版本采用了一个隐含通道和主题的套接字.

man*_*all 58

你可以用MyApp.Endpoint.broadcast(topic, event, msg)它.

检查http://hexdocs.pm/phoenix/Phoenix.Endpoint.html

  • 注意如果你从iex运行它,你需要使用`iex -S mix phoenix.server`启动你的应用程序才能工作. (10认同)
  • @BorisBarroso你需要做`iex -S mix phoenix.server`来确保Pheonix也能启动.如果您只执行`iex -S mix`,则无法广播,因为它无法启动服务器. (5认同)
  • 克隆这个例子https://github.com/chrismccord/phoenix_chat_example并且工作正常,但如果我输入`iex -S mix`然后运行聊天`Chat.Endpoint.broadcast"rooms:lobby","new:msg", %{"user"=>"Boris","body"=>"Tes msg"}`它在浏览器中不显示消息 (3认同)
  • 这是我自己应该找到的东西:-) ...而且我用Google搜索非常努力,但这件事没有出现.也许它现在就是最好的. (2认同)