Hello! On Mon, Sep 23, 2013 at 02:49:24AM -0400, Aleus Essentia wrote:
> Добрый день! > > Мой модуль работает по следующему алгоритму: > 1) Получает заголовок от клиента; > 2) Записывает по специальному формату заголовок в сокет другого сервера; > 3) Закрывает на запись сокет; > 4) Читает ответ: заголовок и html-страницу из этого же сокета; > 5) Отдаёт полученный заголовок и html клиенту. > > Всё бы было хорошо, но работать с сокетами нужно асинхронно, а сейчас чтение > и запись происходит блокирующим способом. > Подскажите, следуя каким принципам, я должен составить код для асинхронного > получения заголовка и html из сокета? > > Прочитал про регистрацию событий в этой статье: > http://green-shaman.livejournal.com/32600.html. Но там не написано, где я > должен вызывать функцию регистрации событий и где могу разместить код, > отрабатывающий после прочтения всего ответа из сокета? Я бы рекомендовал для начала ознакомится с кодом самого nginx'а. В частности - с кодом модуля upstream использующих его модулей (memcached, proxy). Ну и Evan'а Miller'а почитать, если ещё не (а судя по вопросам - таки не). Ссылки есть тут: http://nginx.org/en/links.html Там не всё соответствует текущему положению вещей в плане деталей, местами API поменялось, но вы, по крайней мере, начнёте понимать, о чём идёт речь. -- Maxim Dounin http://nginx.org/en/donation.html _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
