django -channels 1.x обнаруживает, когда пользователь покидает / обновляет страницу - PullRequest
0 голосов
/ 07 мая 2020

Как я могу это определить? В настоящее время я могу do_something только в том случае, если пользователь нажимает кнопку «Назад» и я вручную отключаюсь от рассматриваемого веб-сокета. Иногда срабатывает Websocket DISCONNECT, но в большинстве случаев это не так.

Если пользователь обновляет страницу или покидает ее, код отключения не запускается. Как я могу определить, когда пользователь покидает / обновляется?

1 Ответ

0 голосов
/ 07 мая 2020

не существует идеального способа сделать это. Основная проблема связана с TCP, сервер не всегда будет знать, что соединение было разорвано, пока не истечет время ожидания.

однако Daphne имеет 2 параметра, которые вы можете настроить, чтобы помочь с этим --ping-interval и --ping-timeout если вы хотите, чтобы rapid отключалось, я предлагаю вам установить эти значения как хорошие и низкие.

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