<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">
 <channel>
	<title>Блог Евгения Шеленкова</title>
	<link>http://dev.1c-bitrix.ru/community/blogs/hazz/</link>
	<description>Блог о технологиях коммуникаций в реальном времени.</description>
	<language>ru</language>
	<docs>http://backend.userland.com/rss2</docs>
	<pubDate>Tue, 05 May 2026 07:31:36 +0300</pubDate>

    <item>
      <title>Обновление формата сообщений в Push &amp; Pull</title>
      <description><![CDATA[Коллеги, добрый день!<br /><br />В рамках работ по переходу клиентской части Push & Pull в мобильном приложении на нативный вызов, пришлось изменить формат отправляемых на сервер сообщений.<br />(это то что вы отправляете через <b>CPullStack::AddByUser</b>,<b> CPullWatch::addToStack </b>) <br /><br />Ранее мы кодировали команды к серверу с помощью нашей волшебной <b>CUtil::PhpToJSObject()<br /></b>По не известным науке причинам (хвостов не найти), кодирование происходит не по стандартам JSON, из-за этого мы не можем нативными средствами анализировать содержимое пакетов и проводить над ними какие либо операции, а нам очень надо <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /> В обновлении <b>Push & Pull версии 18.0.0</b> мы переходим к кодированию через <b>Bitrix\Main\Web\Json::encode<br /></b><br />В связи с этим, <b>ваш JS код может поймать несколько ошибок связанных с типизацией</b>, а может и не поймать, нужно проверять <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br />Например: вы отправляли следующий массив
====code====
<pre>Array(
&nbsp;&nbsp; "id" =&#62; 1234
)</pre>
=============
Клиенту приходил JSON вот такого вида
====code====
<pre>{"id":"1234"}</pre>
=============
<b>ID</b> пришел как строка, а значит вы могли на это полагаться и выполнить например поиск по ней вот так - <b>id.indexOf('12') </b><br />Начиная с обновления <b>pull 18.0.0</b> такой код будет приводить к ошибке, нужно заменить его на <b>id.toString().indexOf('12')<br /></b><br /><br /> В следующем примере, вы можете увидеть разницу, отправляем массив:
====code====
<pre>$array = Array(
&nbsp;&nbsp; 'digit' =&#62; 123,
&nbsp;&nbsp; 'string' =&#62; 'abc',
&nbsp;&nbsp; 'mixed' =&#62; 'abc123',
&nbsp;&nbsp; 'booleanTrue' =&#62; true,
&nbsp;&nbsp; 'booleanFalse' =&#62; false,
&nbsp;&nbsp; 'null' =&#62; null,
&nbsp;&nbsp; 'array' =&#62; Array(1,2,3),
&nbsp;&nbsp; 'arrayAssoc' =&#62; Array("1" =&#62; 1, "2" =&#62; 2, "3" =&#62; 3),
&nbsp;&nbsp; 'arrayEmpty' =&#62; Array(),
&nbsp;&nbsp; 'empty' =&#62; '',
);</pre>
=============
 <b>Bitrix\Main\Web\Json::encode<br /></b>
====code====
<pre>{
&nbsp;&nbsp;&nbsp;&nbsp;"digit": 123,
&nbsp;&nbsp;&nbsp;&nbsp;"string": "abc",
&nbsp;&nbsp;&nbsp;&nbsp;"mixed": "abc123",
&nbsp;&nbsp;&nbsp;&nbsp;"booleanTrue": true,
&nbsp;&nbsp;&nbsp;&nbsp;"booleanFalse": false,
&nbsp;&nbsp;&nbsp;&nbsp;"null": null,
&nbsp;&nbsp;&nbsp;&nbsp;"array": &#91;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&#93;,
&nbsp;&nbsp;&nbsp;&nbsp;"arrayAssoc": {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"1": 1,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"2": 2,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"3": 3
&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;"arrayEmpty": &#91;&#93;,
&nbsp;&nbsp;&nbsp;&nbsp;"empty": "",
}</pre>
=============
<br /><b>CUtil::PhpToJSObject</b><br />
====code====
<pre>{
&nbsp;&nbsp; 'digit':'123',
&nbsp;&nbsp; 'string':'abc',
&nbsp;&nbsp; 'mixed':'abc123',
&nbsp;&nbsp; 'booleanTrue':true,
&nbsp;&nbsp; 'booleanFalse':false,
&nbsp;&nbsp; 'null':'',
&nbsp;&nbsp; 'array':&#91;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'1',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'2',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'3'
&nbsp;&nbsp; &#93;,
&nbsp;&nbsp; 'arrayAssoc':{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'1':'1',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'2':'2',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'3':'3'
&nbsp;&nbsp; },
&nbsp;&nbsp; 'arrayEmpty':&#91;&#93;,
&nbsp;&nbsp; 'empty':''
}</pre>
=============
<br /><span class="bx-font" style="font-size:16pt; line-height: normal;">Пожалуйста, в течении лета, выделите время и проверьте ваш код (который отправляет мгновенные команды и принимает их) на отсутсвие ошибок!</span><br /><br /><br />Предварительный код нового модуля находится во вложении.<br /><br />Подробнее о технологии вы можете прочитать здесь <noindex><a href="https://dev.1c-bitrix.ru/community/blogs/hazz/work-with-push-and-pull.php" target="_blank" rel="nofollow" >https://dev.1c-bitrix.ru/community/blogs/hazz/work-with-push-and-pull.php</a></noindex><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/23831.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/23831.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/23831.php</guid>
      <pubDate>Fri, 30 Jun 2017 10:53:44 +0300</pubDate>
    </item>

    <item>
      <title>Открытые линии, интеграция с вашим сайтом</title>
      <description><![CDATA[Добрый день коллеги!<br /><br />Многие из вас уже используют<b> виджет Открытых линий</b> у себя на сайте, сегодня я расскажу как идентифицировать гостевые сессии в Онлайн-чате <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /><br /><br />Есть два варианта развития событий, пользователь авторизован на вашем сайте и не авторизован.<br /><br />Для не авторизованных пользователей вчера мы выпустили обновление с <noindex><a href="https://p.bitrix24.ru/company/personal/user/1106/blog/1438/" target="_blank" rel="nofollow" >формами Контактных данных</a></noindex> (статья доступна пользователям партнерского портала p.bitrix24.ru, обновление пока доступно только для партнеров).<br /><br />Для авторизованных пользователей у нас есть более интересное решение, которое не будет заставлять ваших пользователей повторно заполнять контактные данные <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br />Что бы идентифицировать таких клиентов, мы выпустили 2 решения, для сайтов на <b>1С-Битрикс: управление сайтом</b> и для сайтов на других системах.<br /><br /><br />1. Для БУСа, вам достаточно на страницу где подключен виджет, добавить компонент <b>b24connector.openline.info</b><i> (компонент модуля &quot;Интеграция с Битрикс24'&quot; b24connector) </i>- он автоматически пробросит внутрь виджет все контактные данные клиента, так же вы можете настроить и дополнительно передаваемые данные.<br /><br /> <i>2. </i>Для сторонних систем (например ваш биллинг) вы можете воспользоваться Javascript кодом, который так же, нужно расположить на странице где подключен виджет.<br /><i>
====code====
<pre>&#60;sc ript type="text/javascript"&#62;
&nbsp;&nbsp;window.BxLiveChatInit = function()
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;return {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'user': {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'hash': 'a588e1a88baf2013940b0b33b1eefc2d', // уникальный uid ползователя, замена авторизации
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name': 'Виктор', 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'lastName': 'Иванов',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'avatar': 'http://shelenkov.com/images/avatar-ivanov.jpg',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'email': 'victor@ivanov.ru',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'firstMessage': "Виктор Иванов (victor@ivanov.ru) &#91;br&#93;"+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Код клиента: 12234&#91;br&#93;"+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Сайт: "+location.hostname+"&#91;br&#93;"+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Страница: &#91;url="+location.href+"&#93;"+(document.title || location.href)+"&#91;/url&#93;" // любой текст для оператора ол чатика
&nbsp;&nbsp;&nbsp;&nbsp;};
&nbsp;&nbsp;}
&#60;/sc ript&#62;
</pre>
=============
</i>Обратите внимание на <b>hash</b> - это специально поле, замена авторизации. <br />Оно должно быть уникальным в рамках вашего Битрикс24, что бы не было пересечений. <br /><br />Например: <b>md5(USER_ID+_адрес_сайта_ + _секретный_код_) <br /></b>Данный код должен одновременно идентифицировать пользователя и быть не подбираемым с улицы.<br /><br />Поле <b>firstMessage</b> не является обязательным, вы можете его не настраивать, тогда оператору будет отправлена ссылка страницы с которой клиент начал обращение.<br /><br /><img src="https://site-cloud-files.bitrix24.tech/main/7e6/7e644be31a11cbe8c4ac10b5279f94a9/idendify.png" title="" alt="idendify.png" border="0"style=" width:482px; height:428px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=17547" /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/open-lines-integration-with-your-website.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/open-lines-integration-with-your-website.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/open-lines-integration-with-your-website.php</guid>
      <pubDate>Wed, 26 Apr 2017 10:00:02 +0300</pubDate>
    </item>

    <item>
      <title>Опубликованы черновики документации по бот платформе Битрикс24</title>
      <description><![CDATA[Коллеги, добрый день!<br /><br />Мы активно занимаемся развитием нашей бот платформы и верим что скоро появится полноценная документация, но пока её нет, вы можете посмотреть на черновики.<br /><br />Черновики доступны на dev.bitrix24.ru в формате статей:<br /> Документацию по самому боту <noindex><a href="https://youtu.be/la5F7hmnZrc" target="_blank" rel="nofollow" >https://youtu.be/la5F7hmnZrc</a></noindex><br /> Документацию по форматированию сообщений <br /> Документацию по созданию своих slash-команд <noindex><a href="https://youtu.be/esFHYl-2kIQ" target="_blank" rel="nofollow" >https://youtu.be/esFHYl-2kIQ</a></noindex><br /> Документацию по созданию набираемых клавиатур <noindex><a href="https://youtu.be/rkIzb0QY2kY" target="_blank" rel="nofollow" >https://youtu.be/rkIzb0QY2kY</a></noindex><br /><br /> Если у вас нет доступа к сайту и вы хотите создать своего бота то вам сюда <noindex><a href="http://dev.1c-bitrix.ru/%7Edraft-bot-platform" target="_blank" rel="nofollow" >http://dev.1c-bitrix.ru/~draft-bot-platform</a></noindex><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/17579.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/17579.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/17579.php</guid>
      <pubDate>Mon, 18 Apr 2016 09:24:27 +0300</pubDate>
    </item>

    <item>
      <title>Богатые уведомления и сообщения в Веб-мессенджере</title>
      <description><![CDATA[Добрый день коллеги! <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br />Хочу рассказать вам как сделать ваши уведомления и сообщения богаче используя новый инструмент "Вложения" <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /><img src="https://site-cloud-files.bitrix24.tech/main/59f/59f6e97f58ef1ee19ad783b71a5f548f/1.png" title="" alt="1.png" border="0"style=" width:604px; height:381px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=14001" /><br /><br />Я несколько раз анонсировал эту возможность и скорее всего вы уже начали думать о том, как использовать её у себя в модулях <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /> <br />Сейчас я вам расскажу как это сделать, на самом деле это достаточно просто (приготовьтесь, пост длинный с картинками) <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/15769.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/15769.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/15769.php</guid>
      <pubDate>Fri, 25 Dec 2015 18:52:34 +0300</pubDate>
    </item>

    <item>
      <title>Веб-мессенджер 16.0.0 - что нового для разработчика?</title>
      <description><![CDATA[Коллеги, добрый день!<br /><br />Пару дней назад мы выпустили гору обновлений для коробки, среди них обновления <b>Веб-мессенджера 16.0.0</b>, оно уже доступно для загрузки и ознакомления.<br /><img src="https://site-cloud-files.bitrix24.tech/main/63a/63a7af1c37fa5bf83b75f35343a0b5f2/shat_and_calls.jpg" title="" alt="shat_and_calls.jpg" border="0"style=" width:663px; height:607px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=13911" /><br /><br />Про обновление для пользователей мы подробно рассказали в <noindex><a href="https://www.bitrix24.ru/blogs/notice/novyy-bitriks24-ubivaet-pochtu-vytesnyaet-slack-i-rasshiryaet-prisutst.php" target="_blank" rel="nofollow" >презентации</a></noindex> и в <noindex><a href="https://www.bitrix24.ru/blogs/howto/novinki-bitriks24-.php" target="_blank" rel="nofollow" >блоге</a></noindex> Битрикс24, а теперь я расскажу какие новинки уже есть и какие ждут разработчиков в декабре-январе <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/15673.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/15673.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/15673.php</guid>
      <pubDate>Mon, 21 Dec 2015 19:03:01 +0300</pubDate>
    </item>

    <item>
      <title>Телефония и внутренние звонки</title>
      <description><![CDATA[Коллеги, добрый день!<br /><br />Браузер Google Chrome с версии 47 отключает WebRTC на всех сайтах, кто не использует протокол HTTPS. <br />Это означает что для всех коробочных версий <i>Битрикс24</i>, у кого не стоит HTTPS сертификат, перестанет работать телефония и внутренние звонки. <br /><br />Для решения проблемы, необходимо будет приобрести и настроить HTTPS сертификат для сайта, либо использовать Mozilla Firefox (но тоже временное решение, т.к. Firefox скорее всего тоже включит такое ограничение в следующем году)<br /><br />Для пользователей это будет выглядеть, как <i>"Невозможно получить доступ к веб-камере или микрофону"</i>. <br /> Для клиентов <i>Битрикс24</i> облачной версии - это предупреждение не актуально, так как порталы изначально работают по протоколу HTTPS.<br /><br /><img src="https://site-cloud-files.bitrix24.tech/main/52b/52bd95b81769ef7944bdb019b0451db9/webrtc_only_https.png" title="" alt="webrtc_only_https.png" border="0"style=" width:600px; height:338px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=13849" /><br /><span class="bx-font" style="color:#A0A0A0"><noindex><a href="https://twitter.com/chadwallacehart/status/642467455390998528/" target="_blank" rel="nofollow" >Фотография из твиттера Chad Hard</a></noindex></span><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/15487.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/15487.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/15487.php</guid>
      <pubDate>Wed, 09 Dec 2015 16:51:29 +0300</pubDate>
    </item>

    <item>
      <title>Push &amp; Pull для гостей и оптимизация кол-ва запросов к серверу</title>
      <description><![CDATA[<b><span class="bx-font" style="font-size:14pt; line-height: normal;">Push & Pull для гостей</span></b><br /><br />В последнее время партнеры из разных компаний начали спрашивать, как же запустить Push & Pull для гостей.<br /><s>Конечно никак!</s> В принципе можно, но необходимо реализовать свою логику фиксации сессии за гостем (нужен какой уникальный числовой идентификатор).<br /><br />Для чего это нужно, для того что бы гостю выдавался один и тот же адрес канала и вы могли отправлять ему персонализированные команды.<br /><br />С нашей стороны пришлось немного доработать модуль для такого режима, и для того что бы это разработало у вас, вам необходимо обновление модуля Push & Pull 15.5.1.<br /><br />Что потребуется с вашей стороны?<br /><br />Вам необходимо реализовать методы определение гостя, присвоение ему внутреннего числового идентификатора, допустим этот идентификатор у вас определился как <b>1</b>.<br />Для того что бы не путать авторизованных и не авторизованных пользователей, передавать в модуль Push & Pull его нужно со знаком минус.<br /><br />
====code====
<pre>$guestId = -1;

CModule::IncludeModule('pull');
CPullStack::AddByUser($guestId, Array(
&nbsp;&nbsp; 'module_id' =&#62; 'test',
&nbsp;&nbsp; 'command' =&#62; 'check',
&nbsp;&nbsp; 'params' =&#62; Array(),
)); </pre>
=============
 <br /><br />Метод который определяет идентификатор, нужно реализовать и выполнить в прологе, до момента инициализации Push & Pull, для этого вам необходимо будет зарегистрировать зависимость:
====code====
<pre>RegisterModuleDependences("main", "OnProlog", "main", "", "", 2, "local/scripts/pull_hit.php");
</pre>
=============
Внутри этого файла у вас будет ваша логика определения и указание константы <b>PULL_USER_ID </b>которая будет использоваться для корректного формирования канала гостю (обратите внимание, для каждого гостя должен быть свой идентификатор)<br />
====code====
<pre>$guestId = -1; // эту цифру должна вернуть ваша функция, определения идентификатора для гостя
define('PULL_USER_ID', $guestId);
</pre>
=============
Собственно все, теперь ваши гости могут получать Push & Pull команды на ровне с авторизованными.<br />Как работать с модулем подробно описывал в статье <noindex><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/work-with-push-and-pull.php" target="_blank" rel="nofollow" >http://dev.1c-bitrix.ru/community/blogs/hazz/work-with-push-and-pull.php</a></noindex><br /><br /><br />Для удобства отладки, вы можете воспользоваться следующими JS командами:<br />
====code====
<pre>BX.PULL.capturePullEvent();
</pre>
=============
 Данная команда логирует все команды приходящие для данного пользователя;<br />
====code====
<pre>BX.PULL.getDebugInfo();</pre>
=============
Данная команда отображает состояние подключение к серверам P&P;<br /><br /><br /><br /><br /><span class="bx-font" style="font-size:14pt; line-height: normal;"><b>Оптимизация кол-ва запросов к серверу</b></span><br /><br />В последних версиях P&P появилась настройка путей, позволяющая для современных браузеров ходить напрямую на сервер очередей (отдельный адрес. <br />Это было реализовано для крупных проектов, у которых такой сервис находится на отдельном сервере. <br /><br />До появления этой опции, если у вас сервер сайта и сервер очередей находились на разных серверах, то вам приходилось делать проксирование запросов (запрос приходилось отправлять на сервер сайта, так как старые браузеры не поддерживают прямые запросы AJAX на другие домены и уже от туда перенаправлять на сервер очередей через внутренние правила), это создавало нагрузку и лишний трафик.<br />Слава богу число пользователей с современными браузерами с каждым днем все больше и больше, (более 80% по разным оценкам), а это значит для 80% вашего трафика на сервер очередей можно экономить!<br /><br />Теперь все новые браузеры стучатся напрямую на сервера, но из-за особенности работы нашей реализации JS с сервером, им приходится делать дополнительно на каждое подключение OPTIONS запрос. <br /><br />Для того что бы избавится от него, вам необходимо проверить конфигурационные файлы сервера.<br />Откройте файл <b>bx/conf/im_subscrider.conf</b>, в описании локейшена <b>location ^~ /bitrix/sub {</b> проверьте есть ли у вас такое условие, если нет - добавьте:<br />
====code====
<pre>if ($arg_time) {
&nbsp;&nbsp;&nbsp;&nbsp;push_stream_last_received_message_time "$arg_time";
}
</pre>
=============
выглядеть это должно примерно так
====code====
<pre> push_stream_subscriber&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long-polling;
 push_stream_allowed_origins "*";
 push_stream_channels_path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arg_CHANNEL_ID;
 push_stream_last_received_message_tag&nbsp;&nbsp;&nbsp;&nbsp;$arg_tag;
 if ($arg_time) {
&nbsp;&nbsp;&nbsp;&nbsp;push_stream_last_received_message_time "$arg_time";
 }
</pre>
=============
Если все на месте, вам необходимо выставить секретную опцию в продукте<br />
====code====
<pre>COption::SetOptionString("pull", "nginx_headers", "N");
</pre>
=============
После этого, при подключении, все пользователи будут генерировать к серверу на один запрос меньше (это произойдет не сразу, а по мере обновления JS кода у клиента, перезапуска страницы).<br /><br /><br /><br /><br /><br /><b>Остались вопросы? Пишите! <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /></b><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/13950.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/13950.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/13950.php</guid>
      <pubDate>Fri, 19 Jun 2015 13:52:53 +0300</pubDate>
    </item>

    <item>
      <title>Работа с модулем &quot;Push &amp; Pull&quot;</title>
      <description><![CDATA[Добрый день коллеги, данная статья расскажет вам как и зачем работать с модулем <noindex><a href="http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=41&amp;LESSON_ID=2033" target="_blank" rel="nofollow" >Push &amp; Pull</a></noindex>. <br />Модуль доступен в редакциях БУС Эксперт и выше, а так же во всех редакциях Корпоративного портала.<br /><b><span class="bx-font" style="font-size:x-large;"><br />Что за модуль и зачем он нужен</span></b><br /><br />Первым кто начал его использовать был модуль "Веб-мессенджер", благодаря модулю P&P появилась возможность реализовать действительно мгновенные сообщения, без необходимости ждать 60 секунд между опросами сервера. <br />В последней версии КП 14 (и Битрикс24) использование модуля стало <noindex><a href="http://dev.1c-bitrix.ru/community/blogs/product_features/why-configure-pushpull.php" target="_blank" rel="nofollow" >практически повсеместным</a></noindex>. <br />Его использует "Мобильное приложение", модули "Голосования и опросы", "Главный модуль" (для живых счетчиков), "Блоги" (для живых комментариев) и другие.<br />Оперативность получения актуальной информации и скорость реакции на неё, сильно изменило работу с порталом и это заслуга модуля "Push & Pull".<br /><br />Модуль "Push & Pull" работает в двух режимах: <br />- постоянное подключение к специальному серверу "<noindex><a href="http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=41&amp;LESSON_ID=2033" target="_blank" rel="nofollow" >Сервер очередей</a></noindex>"<br />- в режиме опроса сервера (60-20-10);<br /><br /><u>Первый режим рекомендуемый</u>, от него вы получите настоящую интерактивность, но от вас потребуется настроить сервер очередей или взять готовую сконфигурированную виртуальную машину.<br /><br />Второй режим используется, когда по каким то причинам невозможно использовать первый, в таком случае модуль будет каждые 60 секунд стучатся на сервер и проверять есть ли данные, если есть то следующий хит будет через 10 секунд, если данных больше нет хит будет через 20 секунд, потом каждые 60 секунд, тем самым будет создан эффект интерактивности.<br /><br />Самое главное, не смотря на то, какой способ выберет клиент на своем сайте (сервер очередей или опрос сервера) работа с модулем останется одинаковой (кроме работы с общим каналом).<br />Само API делится на PHP и JS часть, ниже опишу ключевые методы для работы с ним.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/8568.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/8568.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/8568.php</guid>
      <pubDate>Wed, 02 Oct 2013 09:40:16 +0400</pubDate>
    </item>

    <item>
      <title>Обновление &quot;Сервера очередей&quot; (Push &amp; Pull)</title>
      <description><![CDATA[Коллеги, здравствуйте!<br /><br />На следующей неделе выйдет обновление модуля <b>Push & Pull 12.5.5 </b>которое потребует от вас исключения нескольких правил из настроек nginx.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/8084.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/8084.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/8084.php</guid>
      <pubDate>Wed, 14 Aug 2013 14:33:00 +0400</pubDate>
    </item>

    <item>
      <title>Смайлы в главном модуле</title>
      <description><![CDATA[<b>Мы сделали единый центр управления смайлами в "Главном модуле, версии 12.5.7".</b><br /><br />Теперь, что бы использовать смайлы в своем модуле, нет необходимости писать собственный класс управления смайлами, создавать административные страницы, копировать из модуля в модуль картинки и обучать парсер сообщений. <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br />Мы поддерживаем <noindex><a href="http://idea.1c-bitrix.ru/pakety-smaylov/" target="_blank" rel="nofollow" >наборы смайлов</a></noindex>, смайлы в высоком разрешении (retina) и возможность обработки смайлов в тех модулях, <noindex><a href="http://idea.1c-bitrix.ru/sdelat-smayly-otdelnym-minimodulem-obshchim-dlya-forumovblogovsotsseti/" target="_blank" rel="nofollow" >в которых не было своей реализации</a></noindex> (например <noindex><a href="http://idea.1c-bitrix.ru/smayly-v-novyy-chat-a-takzhe-bazovye-bbkody/" target="_blank" rel="nofollow" >Веб-Мессенджер</a></noindex>, кстати уже скоро!).<br /> &nbsp;<br /><a href="http://dev.1c-bitrix.ru/community/blogs/hazz/7609.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/hazz/7609.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/hazz/7609.php</guid>
      <pubDate>Tue, 21 May 2013 18:38:45 +0400</pubDate>
    </item>

  </channel>
</rss>