Я только что следил за документами канала и присутствия Phoenix с их официального сайта.Все работает хорошо, как описано.
Как и в документации по Channel, он имеет функцию обратного вызова присоединения, поэтому я могу что-то обрабатывать, когда клиент присоединяется к определенной теме.Но почему нет обратного вызова что, я думаю, должно существовать?
Я гуглил некоторые и обнаружил, что могу использовать Присутствие для отслеживания статуса клиента.Это тоже сработало, но мне не нужно информировать об этом клиентов.Если я пытался перехватить событиеsence_diff в обратном вызове handle_out канала, он вызывался несколько раз как число клиентов.
Как сказано в документации о присутствии ...
На случай, если вы захотитеиспользовать только подмножество функций, предоставляемых Phoenix.Presence, таких как процессы отслеживания, но без широковещательных обновлений, мы рекомендуем вам взглянуть на функциональность Phoenix.Tracker из проекта phoenix_pubsub
Но, Phoenix.Первоначально для трекера необходимо: свойство pubsub_server.
Здесь снова мои вопросы.
- Почему Phoenix.Channel не реализует обратный вызов, подобный отпуску.
- Как я могу обработать статус клиента (присоединиться / уйти) для определенной темы.
Заранее спасибо.