如何处理凤凰频道中的客户状态

时间:2019-02-14 08:42:16

标签: elixir phoenix-framework phoenix-channels

我刚刚从他们的官方网站关注了Phoenix Channel and Presence文档。如前所述,一切正常。

作为Channel文档,它具有加入回调,因此当客户加入特定主题时,我可以处理一些事情。但是为什么没有休假回调我认为应该存在?

我在Google上进行了一些搜索,发现我可以使用在线状态来跟踪客户状态。它都可以,但是我实际上不需要通知客户。如果我试图在Channel的handle_out回调中捕获present_diff事件,则该调用被多次调用,作为客户端数量。

正如在线状态文档所述...

  

如果您只想使用由以下功能提供的一部分   Phoenix。状态,例如跟踪过程,但不广播   更新,我们建议您查看Phoenix.Tracker   phoenix_pubsub项目的功能

但是,Phoenix.Tracker最初需要:pubsub_server属性。

这又是我的问题。

  1. 为什么Phoenix.Channel不实现类似假的回调。
  2. 如何处理特定主题的客户状态(加入/离开)。

谢谢。

1 个答案:

答案 0 :(得分:0)

当客户离开频道时,您确实会收到消息。

摘自https://hexdocs.pm/phoenix/Phoenix.Channel.html#module-terminate的文档

有什么理由还不够吗?