0

我刚刚从他们的官方网站关注了 Phoenix Channel 和 Presence Documentation。正如它所描述的那样,事情工作得很好。

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

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

正如 Presence 文档所说...

如果您只想使用 Phoenix.Presence 提供的功能的子集,例如跟踪进程但不广播更新,我们建议您查看 phoenix_pubsub 项目中的 Phoenix.Tracker 功能

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

这是我的问题。

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

提前致谢。

4

1 回答 1

0

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

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

这还不够吗?

于 2019-02-14T11:58:55.603 回答