Проблема: использование неблокирующих сокетов в handler'е
Sergey Samokhin
neavirc at gmail.com
Tue Jul 22 01:03:44 MSD 2008
Здравствуйте.
Есть модуль, который в своем обработчике отправляет стороннему приложению
некоторую информацию о запросе (заголовки и пр.) используя блокирующие
сокеты.
После этого модуль получает ответ от приложения, и используя его
генерирует response
для пользователя.
Очень хочется заменить блокирующие сокеты на неблокирующие, т.к.
организовать
работу модуля примерно так:
1. Получив запрос от пользователя воркер отсылает данные через
неблокирующий сокет
и переключается к следующему запросу, не обрывая соединения с клиентом
2. Когда стороннее приложение ответило на запрос, отправленный в п. 1
nginx возвращается
к состоянию п.1 и используя полученные данные генерирует ответ для
пользователя и
закрывает соединение
Я пока очень смутно представляю как это можно было бы реализовать :/
Если такое уже где-то реализовано в nginx, то подскажите в какие
модули/функции посмотреть =)
Нужно ли использовать какие-то nginx'овские обертки над сокетами (типа
ngx_event_connect)?
Спасибо.
--
С уважением,
Сергей.
More information about the nginx-ru
mailing list