Как обрабатывать статус клиентов в Phoenix Channel - PullRequest
0 голосов
/ 14 февраля 2019

Я только что следил за документами канала и присутствия Phoenix с их официального сайта.Все работает хорошо, как описано.

Как и в документации по Channel, он имеет функцию обратного вызова присоединения, поэтому я могу что-то обрабатывать, когда клиент присоединяется к определенной теме.Но почему нет обратного вызова что, я думаю, должно существовать?

Я гуглил некоторые и обнаружил, что могу использовать Присутствие для отслеживания статуса клиента.Это тоже сработало, но мне не нужно информировать об этом клиентов.Если я пытался перехватить событиеsence_diff в обратном вызове handle_out канала, он вызывался несколько раз как число клиентов.

Как сказано в документации о присутствии ...

На случай, если вы захотитеиспользовать только подмножество функций, предоставляемых Phoenix.Presence, таких как процессы отслеживания, но без широковещательных обновлений, мы рекомендуем вам взглянуть на функциональность Phoenix.Tracker из проекта phoenix_pubsub

Но, Phoenix.Первоначально для трекера необходимо: свойство pubsub_server.

Здесь снова мои вопросы.

  1. Почему Phoenix.Channel не реализует обратный вызов, подобный отпуску.
  2. Как я могу обработать статус клиента (присоединиться / уйти) для определенной темы.

Заранее спасибо.

1 Ответ

0 голосов
/ 14 февраля 2019

Вы получаете сообщения, когда клиент покидает канал.

Из документации для https://hexdocs.pm/phoenix/Phoenix.Channel.html#module-terminate

По какой-либо причине этого недостаточно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...