Работа модуля Push and Pull Битрикса на виртуальной машине до версии 5.0.
|
---|
На серверной стороне поддержка мгновенных сообщений осуществляется модулем NGINX: nginx-push-stream-module. Данный модуль обеспечивает поддержку long-polling соединений с клиентами и доставку опубликованных им сообщений. Примечание: Bitrix Framework и без модуля nginx-push-stream-module обеспечивает достаточно высокую скорость передачи сообщений: 60 секунд интервал, при наличии сообщений интервал между соединениями уменьшается до 10 секунд.
При открытии страницы клиент ajax-запросом, подключается к своему каналу на одном из портов NGINX: 8893 (http) или 8894 (https). (В случае использования виртуальной машины BitrixVM. При использовании собственной конфигурации сервера администратор волен использовать любые удобные ему порты.) С данного порта NGINX перенаправляет пользователя на внутренний сервер очередей (доступный только по 127.0.0.1:8895), где проверятся наличие канала пользователя и новых сообщений. В случае если в канале нет сообщений, сервер не отдает ответ, а держит соединение в течение 40 сек. Если в течение этого времени в канал пользователя придет новое сообщение, то сервер отправит его клиенту и закроет соединение. В случае если в канал пользователя не будет новых сообщений в течение 40 секунд, то сервер разорвет соединение и отправит ему заголовок: 304 Not Modified. После получения ответа сервера и закрытия соединения клиент выполнит повторное подключение к каналу с новой датой последнего изменения. Сообщения в канал пользователя публикуются посредством вызова соответствующих методов API модуля Push and Pull. Для работы с мгновенными сообщениями рекомендуем использовать протокол https. Примечание: Большое значение имеет правильная синхронизация времени сервера с глобальными серверами.
Настройка модуляПри использовании продуктов Bitrix Framework на базе виртуальной машины BitrixVM с v. 5.0 необходимости в настройке модуля нет: всё работает "из коробки". Если проект используется не на штатных средствах установки Bitrix Framework, то необходимо произвести дополнительные настройки. Примечание: Приведённые ниже образцы настроек даны для примера. Настройку под конкретный проект, при отказе от использования рекомендуемых BitrixVM или BitrixEnvironment, администратор должен произвести самостоятельно.
Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module. Более свежие версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от "1С-Битрикс".
|