Open bursonic opened 12 years ago
Столкнулись с той же самой проблемой. Хотелось бы узнать, есть ли какое-то решение, кроме установки задержки.
интересно проект еще жив или уже не очень?.. проблема с id есть судя по идентификатору это метка микротайма, и так как сообщения приходят в один момент времени, то и метка у них получается одинаковая. Поковырялся в исходниках, не нашел, где задается id канала. Автор, если для тебя проект еще актуален, поправь пожалуйста этот баг, так как при большой нагрузке и подписке пользователя на некоторое количество каналов задержка даже в полсекунды это много. Согласен есть функционал рассылки сообщений в несколько каналов, но он подходит, если нужно отправить одинаковое сообщение в разные каналы. А если нужно отправить разные сообщения в разные каналы?
автор, ау
В JS нужно проставить курсоры: realplexor.setCursor("Alpha",0); realplexor.setCursor("Beta",0);
Должно помочь.
setCursor делает выборку всего что есть в буфере - это не то. Очень острая проблема! Хэлп!
Версию для C++ пробовали? У меня после перехода на неё куча глюков ушло само собой :)
Вы про клиента? Я бы попробовал но речь идёт о сайте, а также клиенте на андроид, документации как правильно реализовать работу с протоколом я не нашел, всё сугубо копированием поведения JS клиента... :(
Что-то не могу найти документации по установке c++ версии ((
Нда... вроде всё просто, но зависимости руками брать откуда-то там... Не получается скомпилить вообщем :( А perl версия уже по 4-6 секунд на push задержки делает под не такой уж и большой нагрузкой... :(
dklab_realplexor.cpp:40:38: fatal error: boost/algorithm/string.hpp: Нет такого файла или каталога compilation terminated.
Вы собирайте в Ubuntu, все должно получиться. Бинарник, кстати, получится без внешних зависимостей - его потом можно копировать на любую машину. Boost лучше собрать из исходников, кстати, но вроде бы по вашему сообщению об ошибке что-то гуглится.
Подтверждаю наличие проблемы с недоставкой второго из единовременно отправляемых сообщений, как описано в сабже. Имеет место и для perl, и для cpp версий.
На словах фикс выглядит так: При отправке клиенту (слушающему 2 и более каналов), отправлять не только данные первого канала с меткой времени, но и метки времени для остальных каналов, которые должны инициализироваться временем установления соединения.
Здравствуйте, это не issue, а скорее вопрос, но не смог подобрать правильного места. Что происходит с комнатами после того, как клиент отсоединился и в ней не осталось больше активных пользователей.
Есть альтернатива http://post-hawk.com и не надо ничего ставить на сервер и настраивать.
Проект забросил автор как я понял из гита и их сайта\форума.. уже пару дней мучаюсь с данным коммет сервером...на дебиане (впс слабой) скомпилировать не получилось ошибка gcc++ process kill чет там... на MAC OS не компилиться из-за ошибки в /events/server.h там есть параметры ::set а мак хочет что бы использовалось template...но кодить на том языке не шарю...юзаю перл версию...но нормальной доки или примеров толковых php не нашел..буду крутиться из того что уже имею.. Slavenin, посмотрел я тот пост-хавк и то совсем не выход... 1) отправлять данные через чужой сервер "This is нехорошо" 2) не известно как долго проживет тот проект да и уже лучше тогда использовать штатные средства сервера nginx (модули есть) или инные способы
1) отправлять данные через чужой сервер "This is нехорошо"
библиотека поддерживает шифрование на клиенте, так что тут проблемы нет
2) не известно как долго проживет тот проект
будет жить и развиваться :)
да и уже лучше тогда использовать штатные средства сервера nginx (модули есть) или инные способы
нужно их ставить настраивать и пилить свой велосипед, а здесь уже всё готово.
Вы правы, На вкус и цвет фломастеры все равно одинаковые =) Разобрался с данным плексером, очень радует скорость работы... Но ломаю голову не первый час как интегрировать свой самопис...
js: ... realplexor.subscribe("Alpha", function(data, id) { document.getElementById('first').innerHTML += data + "
"; }); realplexor.subscribe("Beta", function(data, id) { document.getElementById('second').innerHTML += data + "
"; }); ...
php: .... $rpl->send("Alpha", array("here" => "is", "any" => array("structured", "data"))); $rpl->send("Beta", array("x" => "y", "other" => array("complex", "message"))); ....
После выпонения скрипта, в firebug видно, что по xhr запросу http://rpl.mydomain/?identifier=demo_Alpha,demo_Beta&ncrnd=1339863583432 пришло только одно сообщение (в Alpha). сообщение для Beta не пришло в новом xhr запросе http://rpl.mydomain/?identifier=1339863592.26114014500000:demo_Alpha,demo_Beta&ncrnd=1339863592325.
Далее при одновременной отправке сообщения продолжают приходить только в Alpha. Если отправить запрос только в Beta или вставить sleep(1); между запросами, то сообщение доходит.
После раздельной отправки сообщений любым из способов, начинают приходить одновременно отправленные сообщения. Запросы xhr вида http://rpl.mydomain/?identifier=1339864176.81945016900000:demo_Alpha,1339864177.82348017100000:demo_Beta&ncrnd=1339864237956.
Видно, что в последнем запросе, работающем корректно, обращение к Beta уже идет по ID:Name. Но ID был получен только после раздельной отправки сообщений. При одновременной отправке клиент ID получить не может.