Получить ответ по сокету

Igor Sysoev is at rambler-co.ru
Sun Nov 12 00:27:02 MSK 2006


On Fri, 10 Nov 2006, golova wrote:

> Пишется свой модуль, который в обработичке директивы открывает свой сокет и 
> отправляет туда данные.
> Нужно ответить на HTTP запрос на основании полученных данных в сокете.
> Какой механизм предусмотрен в nginx?
> Отправлять получается без проблем. А как получить ответ?
> Пробовали ставить обработчик на connection->read.
> Действительно, там мы можем получить ответ. Но вызов этого обработчика 
> происходит уже после обработки директивы.
> А нужно дать ответ на HTTP запрос в обработчике директивы.
> Как это лучше сделать?

Я не понял, что означает "вызов этого обработчика происходит уже после
обработки директивы". Насколько я понял, имеется в виду обработка
директивы подобно обработке empty_gif. Если обработка запроса
происходит длительное время, то такой обработчик должен вернуть NGX_DONE.
В этом случае nginx сам не закроет соединение. А после того, как ответ
отдан клиенту, нужно вызвать ngx_http_finalize_request(r, КОД).


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list