Страница 1 из 1

Long polling на open server

Добавлено: 24 авг 2014, 22:29
dox
Приветствую.

Скачал сей замечательный продукт, т.е. Open Server 5.1.1 full и задеплоил свой сайт в него как описано в мануале. Разрабатываю свое веб-приложение на Yii. Причем мне необходимо сделать автоматическое обновление таблицы заказов не перезагружая страницы. Погуглив решил реализовать longpolling.

До этого делал веб приложения на denwer-е, но он меня перестал устраивать, т.к. в нем не работает longpolling. Почему спросите? Потому что в нем модуль mdm_winnt, кот. реализован посредством 2-х процессов(главный и дочерний - обрабатывает запросы со всех хостов) и как следствие когда уходит аякс запрос longpolling-а, то любые остальные запросы замораживаются, пока не придет ответ на аякс запрос longpolling-a. Причем даже другие проекты веб приложений не отвечают на запросы.

В Open Server я задеплоил 2 веб приложения, запустил то, в кот. longpolling и когда отправлен аякс запрос, то второе приложение отвечает на запросы. Однако первое (в кот. longpolling) не отвечает, пока не придет ответ аякс запроса longpolling-a.

К чему я все это? А к следующим нескольким вопросам:
1. В Open Server какой используется модуль: mdm_prefork,mdm_worker может еще какой?
2. Можно ли настраивать Open Server, чтобы можно было посылать аякс запросы longpolling-a и параллельно выполнялись др. аякс запросы в рамках одного веб-приложения?

Спасибо.

Добавлено: 24 авг 2014, 22:59
Максим
Под Windows сервер Apache может работать только с модулем mpm_winnt, собственно он и используется. Остальные типа mpm_prefork, mpm_worker и прочие предназначены для Linux систем.

Далее. То, что Апач создаёт 2 процесса в системе, это не значит что он может обрабатывать только 1 подключение одновременно, а остальные якобы замораживаются. Apache может обрабатывать сколько угодно соединений под Windows, по умолчанию в конфиге установлено 1920 подключений, но никак не одно и не два.

Скорее всего вы столкнулись с блокировкой сессий в PHP. Недавно была статья на хабре: http://habrahabr.ru/post/232305/

Добавлено: 25 авг 2014, 09:24
Asmodey
Интересовался сиим вопросом давненько. Информация может и устарела шибко.

1. ЛонгПоллинг не связан с асинхронность. Это костыль уведомления от сервера клиенту.
2. Без обновления страницы - аякс запрос.
3. Апачи не умеет делать такие запросы. Токма ШотПоллинг :) Ну это как бы все умеют.
4. Умел Нжайникс с экспериментальным расширением (ну тогда оно было экспериментальное). Описывался путь как точка запросов, к нему цеплялись желающие. Пост по этому пути засылал всем подписчикам результат.