<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Возможность организации COMET сервера]]></title>
		<link>https://forum.readyscript.ru/topic/1786/vozmozhnost-organizatsii-comet-servera/</link>
		<atom:link href="https://forum.readyscript.ru/feed/rss/topic/1786" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Возможность организации COMET сервера».]]></description>
		<lastBuildDate>Fri, 26 Apr 2019 08:55:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9884/#p9884</link>
			<description><![CDATA[<p>Про сокеты помним ) , но сейчас большинство пользователей на шаред-хостингах прекрасно работают.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Fri, 26 Apr 2019 08:55:39 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9884/#p9884</guid>
		</item>
		<item>
			<title><![CDATA[Re: Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9882/#p9882</link>
			<description><![CDATA[<div class="quotebox"><cite>admin пишет:</cite><blockquote><p>Вебсокеты не совсем подходят, так как на шаред хостингах их не развернешь.</p></blockquote></div><p>Так ведь и продукт ваш для шареда не очень подходит.<br />Вернее, как - задачи, которые можно решить на RS, нельзя уже решить на шареде.<br />Простой корпсайт с каталогом в 400 позиций можно сделать на шареде, а вот всё остальное - выше.</p><p>Так что, про сокеты не забывайте :]</p>]]></description>
			<author><![CDATA[null@example.com (Polo Art)]]></author>
			<pubDate>Fri, 26 Apr 2019 06:04:07 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9882/#p9882</guid>
		</item>
		<item>
			<title><![CDATA[Re: Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9881/#p9881</link>
			<description><![CDATA[<p>Учитывая специфику работы данного механизма, не думаю что на любом хостинге можно сделать это для клиентов. Админов все же обычно не много, а тут должно висеть соединение постоянно с каждым. </p><p>Теоретически наши классы то можно задействовать и в клиентской части с минимальными правками, но большинство хостингов не дадут держать так много долгих php соединений.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 25 Apr 2019 22:09:29 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9881/#p9881</guid>
		</item>
		<item>
			<title><![CDATA[Re: Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9880/#p9880</link>
			<description><![CDATA[<p>Спасибо за ответ! А тоже самое для фронтэнда возможно реализовать? Для построения решений, аналогичных моему модулю с оповещениями о товаре в корзине</p>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Thu, 25 Apr 2019 20:55:24 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9880/#p9880</guid>
		</item>
		<item>
			<title><![CDATA[Re: Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9878/#p9878</link>
			<description><![CDATA[<p>Хотели чуть позже на этот счет новость с подробностями описать. </p><p>Если коротко, то готовим базовые функции, чтобы можно было сделать интеграцию с телефонией в админке.<br />Для этого нужно мгновенно передавать события (которые будут приходить через Вебхуки от телефонии) из PHP администратору. </p><p>Всего бывает 2 проверенных временем варианта - WebSocket и LongPolling запросы.<br />Вебсокеты не совсем подходят, так как на шаред хостингах их не развернешь. <br />Соответственно остался второй вариант.</p><p>Модуль, который захочет передавать информацию, должен будет включить LongPolling нужному админку, внутри события start.</p><div class="codebox"><pre><code>\Main\Model\Comet\LongPolling::getInstance()-&gt;enable();</code></pre></div><p>Затем при возникновении события, в PHP можно вызвать:<br /></p><div class="codebox"><pre><code>$data = [&#039;param1&#039; =&gt; &#039;value1&#039;]; //Любые данные
$user_id = 123; //ID админа, кому сообщение 
$expire = 20; //Максимальная актуальность сообщения в секундах, если получатель его не получил за это время, то оно удаляется.
$event_name = &#039;test&#039;; //Произвольное имя события

\Main\Model\Comet\LongPolling::getInstance()-&gt;pushEvent($event_name, $data, $user_id, $expire)</code></pre></div><p>При этом как только в PHP будет вызван pushEvent, в JS сразу будет срабатывать событие rs-event-{$event_name} на элементе body</p><p>То есть его мгновенно можно перехватывать:<br /></p><div class="codebox"><pre><code>$(&#039;body&#039;).on(&#039;rs-event-test&#039;, function(e, data) {
      //data - данные
});</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 25 Apr 2019 19:21:57 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9878/#p9878</guid>
		</item>
		<item>
			<title><![CDATA[Возможность организации COMET сервера]]></title>
			<link>https://forum.readyscript.ru/post/9876/#p9876</link>
			<description><![CDATA[<p>В списке изменений увидел &quot;Добавлена возможность организации COMET сервера&quot;<br />Можете подробнее про данную возможность рассказать?</p>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Thu, 25 Apr 2019 09:01:31 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9876/#p9876</guid>
		</item>
	</channel>
</rss>
