Xpoint
   [напомнить пароль]

POE::Component::Server::TCP на его основе сделать http Keep-Alive соединение

Метки: [без меток]
2007-10-12 23:34:48 [обр] Lyabah_Alexander(0/3)[досье]

Получается как, в кукбуках ПОЯ я нарыл, как сделать нормальный веб сервер из него (http://poe.perl.org/?POE_Cookbook/Web_Server) . Но незадача в том, что данные в броузер должны поступать как только я их посылаю в соединение. А у ПОЯ помоему проблема. Он в соединение не шлет данные, пока не будет отработано событие до конца. Вобщем то в этом то и основная проблема. Как послать в данные в соединение ПОЕ, когда ранмода еще не отработала до конца.

Так... могу немного подробней. Я кстате уже сталкивался с этой проблемой, но ее получилось обойти, но не решить. Теперь уже это запарило и очень хочется решить, т.к. инфу в нете не нашел.

Есть сервер POE::Component::Server::TCP
У него есть события, допустим приход данных от клиента. Во время этого события мы плюем туда данные какието.
$heap->{client}->put($response); #вот так.

А теперь внимание трабл: Данные к нему пошлются только тогда, когда событие на сервере отработает доконца, а безумно хочется, чтоб сразу после этой строки ((

спустя 2 часа 32 минуты [обр] Алексей Севрюков(61/1292)[досье]
Lyabah_Alexander[досье] Вы имеете ввиду параллельные запросы? Несколько потоков т.е.?
спустя 9 часов [обр] Dennis F. Latypoff aka funky_dennis(2/84)[досье]
Алексей Севрюков[досье]
ПОЕ подразумевает под собой не многопоточность, а мультиплексор.
Lyabah_Alexander[досье]
Для tcp-сервера-мультиплексора есть отличная альтернатива:
http://unix.org.ua/orelly/perl/cookbook/ch17_14.htm
спустя 10 часов [обр] Lyabah_Alexander(0/3)[досье]
а вот это уже не мультиплексор, а многопоточный )
спустя 4 минуты [обр] Lyabah_Alexander(0/3)[досье]

Dennis F. Latypoff aka funky_dennis[досье]
Спасибо конешно, но пишем уже на пое. Так что вопрос с ПОЕ еще актуален.

Да, и кстати, ссылка не открывается, но перловский кукбук у меня есть.

спустя 1 час 27 минут [обр] Lyabah_Alexander(0/3)[досье]

ОООО... Только что совершенно случайно наткнулся.

$heap->{'client'}->flush();

метод вот этих вил POE::Wheel::ReadWrite

Все, всем спасибо. Тему можно закрывать. Блин, я уже столько намучался с этими поями, что думаю, мож статейку куда нить зафигачить.

спустя 7 часов [обр] Dennis F. Latypoff aka funky_dennis(2/84)[досье]
а вот это уже не мультиплексор, а многопоточный )
что, это?
спустя 1 день 10 часов [обр] Lyabah_Alexander(0/3)[досье]
упс, посмотрел в кукбук за 2003 год, там эта уже 13 глава. Так что немного перепутал. Страница сегодня открылась. Спасибо.
Powered by POEM™ Engine Copyright © 2002-2005