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

How to handle clients status in Phoenix Channel

我刚刚关注了 Phoenix Channel 和 Presence 官方网站上的文档。正如描述的那样,一切正常。

作为频道文档,它有加入回调,所以我可以在客户端加入特定主题时处理一些事情。但是为什么没有休假回调我认为应该存在的东西?

我用谷歌搜索了一下,发现我可以使用 Presence 来跟踪客户端状态。它也有效,但实际上我不需要将其告知客户。如果我试图在 Channel 的 handle_out 回调中捕获 presence_diff 事件,它会被调用多次作为客户端数量。

正如 Presence 文档所说...

In case you want to use only a subset of the functionality provided by Phoenix.Presence, such as tracking processes but without broadcasting updates, we recommend that you look at the Phoenix.Tracker functionality from the phoenix_pubsub project

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

又是我的问题。

  1. 为什么Phoenix.Channel没有实现类似离开的回调。
  2. 如何处理特定主题的客户端状态(join/leave)。

提前致谢。

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

来自 https://hexdocs.pm/phoenix/Phoenix.Channel.html#module-terminate

的文档

这还不够吗?