Pull to refresh
386
0
Дмитрий Котеров @DmitryKoterov

Пользователь

Send message
А вот и канал, в котором отображаются IP-адреса (только первые 2 цифры IP-адрес, остальные не палятся) тех, кто читает эту статью:

Ну, это уже к разработчикам Event-Lib, наверное. А может быть, решение нагуглится, наверняка кто-то еще libevent собирал для вашей версии ОС.
По поводу числа сокетов — ulimit -n 1048576 и несколько listen-сокетов вместо одного (например, на разных IP-адресах) дают до миллиона соединений. Это не проблема.
1. Вообще-то, один. Это же событийно-ориентированный сервер.
2. Кажется, нет.
3. Ну все — вряд ли (IE 2.0 или Lynx вряд ли поддерживаются). Но основные, до которых мы смогли дотянуться, — поддерживаются, конечно.
А 502 поймали, наверное, в момент, когда я его перезапускал. Провожу периодически разные эксперименты тут.
Он включен, а соединения долгоживущие. Просто не все плагины для Firefox это умеют отображать. :-)
Event::Lib — это бинарная библиотека. Инструкции по установки есть в документации.
Он позволяет подключаться со стороны JS — на чтение, со стороны PHP — на запись (и на считывание диагностики).

Для приема PHP может подключиться, прикинувшись браузером разве что. Но зачем это? Лучше отправку из браузера на сервер делать обычным аяксом, обычным скриптом.
Кто-то заспамил канал who_is_online в демо-скрипте. :-) Так что на JS он долго и мучительно отрисовывается.
Обязательно будет, в первую очередь.
Ну кроме Long Polling, есть еще Streamin (как раз когда соединение не нужно никогда закрывать). Но только Streaming не работает в IE. Streaming в Realplexor-е в будущем обязательно добавится (правда, для других, небраузерных, целей).
Как поется в песне (цитирую по памяти),

Не страшЁн нам огонь при пожаре,
А страшна паникА при пожаре.
При пожаре гибнУт единицы,
При панИке же — сотни гибнУт.

В том смысле, что проблемы не страшны, страшно, когда они не исправляются. А исправляться они будут, т.к. проект активно используется (и будет использоваться еще кучей людей в OpenSource-community, я подозреваю).
Ну, мы его в Рутвите используем. Насколько стабильно — это только время может показать. Главное, что у него всегда будет активная поддержка, а изменения в код вносить очень легко, благодаря тому, что код на Perl и покрыт автотестами.
Какие еще глюки есть, кстати? Вроде бы этот единственный, судя по логам, и его больше не должно быть.
В libevent, если обрыв соединения проскочил в промежуток между добавлением события и началом его обработки, в первой же строчке perl-обработчика возникает SIGPIPE, который рушил скрипт и заставлял Realplexor перезапуститься. Я сейчас поставил заплатку на это (просто игнорируется сигнал, т.к. дальше по коду нужные проверки имеются).
Long Poll в смысле отправки данных не бывает. Только в смысле получения. Потому что «Poll».
Стоп, стоп. На демо-страницы входящие сообщения принимает не Realplexor, а PHP-скрипт обычным аяксом. И уже этот PHP-скрипт отправляет данные в Realplexor.
Не, это бага в init-скрипте была. :-)

Information

Rating
Does not participate
Location
Россия
Registered
Activity