<html>
  <head>
    <meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 10/23/2011 11:34 AM, Ivan Petrov wrote:
    <blockquote cite="mid:20111023083330.GC14585@apache.rbscorp.ru"
      type="cite">
      <pre wrap="">понадобились тут вебсокеты.
</pre>
    </blockquote>
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    Обратите внимание на состояние документа <a
      href="http://dev.w3.org/html5/websockets/">http://dev.w3.org/html5/websockets/</a>
    "Editor's Draft 5 October 2011"<a
      href="http://dev.w3.org/html5/websockets/"><br>
    </a>
    <blockquote cite="mid:20111023083330.GC14585@apache.rbscorp.ru"
      type="cite">
      <pre wrap="">нужно иметь дофигища соединений и им рассылать изредка сообщения.

попытался запустить Mojo:: примеры что про IRC, но они не совместимы с
современным браузером. ну да не в этом дело.</pre>
    </blockquote>
    Протокол изменялся и, возможно, будет изменяться в будущем<br>
    <blockquote cite="mid:20111023083330.GC14585@apache.rbscorp.ru"
      type="cite">
      <pre wrap="">мыслится что серверная часть вебсокетов должна работать на событийной
машинке и при этом предоставлять возможность внешней генерации
событий.
то есть нечто вроде такой структуры:

 1. демон принимающий соединения
 
 2. внутренний сокет или порт через который можно с демоном
 соединиться и отправить ему информацию по которой он сплавит
 сообщения одному или нескольким (или никому) присоединенным клиентам.
</pre>
    </blockquote>
    Вполне решается вебсервисом с (JSON|*) RPC на который при желании
    можно повесить дополнительную вебморду.<br>
    <blockquote cite="mid:20111023083330.GC14585@apache.rbscorp.ru"
      type="cite">
      <pre wrap="">Вопросы:

 1. а что готовое на эту тему есть?
</pre>
    </blockquote>
    Реализация протокола:<br>
    <a href="https://metacpan.org/module/Protocol::WebSocket">https://metacpan.org/module/Protocol::WebSocket</a><br>
    и соотв. статья автора
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    <a
href="http://showmetheco.de/articles/2011/3/using-protocol-websocket-with-plack.html">http://showmetheco.de/articles/2011/3/using-protocol-websocket-with-plack.html</a><br>
    <br>
    Минус в том, что если (когда) снова поменяют черновик, некоторое
    время реализация может быть не стабильной или просто не работать.<br>
    Более стабильный вариант - использование SocketIO протокола который
    пытается работать на любых платформах, но при этом использует
    наилучшую из доступных технологий от WebSocket до Forever Iframe и
    JSONP Polling.<br>
    Описание совместимости и поддерживаемых протоколов тут:
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    <a href="http://socket.io/#browser-support">http://socket.io/#browser-support</a><br>
    Для Perl, как уже написал Денис, есть реализация которая называется
    PocketIO, которая использует в том числе Protocol::WebSocket<br>
    Чтобы узнать немного больше, можно почитать статью автора:
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    <a
href="http://showmetheco.de/articles/2011/9/pocketio-realtime-applications-for-plack.html">http://showmetheco.de/articles/2011/9/pocketio-realtime-applications-for-plack.html</a>
    ну и документацию на socket.io<br>
    <br>
    Насколько мне известно, PocketIO использовалась в реальном проекте с
    достаточно большой нагрузкой.<br>
    <br>
    Плюс в поддержке большого количества платформ/клиентов. Минус в
    более сложном разворачивании приложения.<br>
    <blockquote cite="mid:20111023083330.GC14585@apache.rbscorp.ru"
      type="cite">
      <pre wrap="">
 2. можно ли вебсокетные соединения пробрасывать через nginx?
</pre>
    </blockquote>
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    nginx_tcp_proxy_module<br>
    <a href="http://habrahabr.ru/blogs/nginx/124089/">http://habrahabr.ru/blogs/nginx/124089/</a><br>
    <br>
    Возможно, сейчас есть решения и лучше, я некоторое время не следил
    за ситуацией вокруг WebSocket<br>
    <br>
    --<br>
    Regards<br>
    yko<br>
  </body>
</html>