Re: FCGI_END_REQUEST и закрытие соединения

Valery Kholodkov valery+nginxru at grid.net.ru
Thu Aug 20 17:57:26 MSD 2009


----- opium <opium at jabber.com.ua> wrote:
> 
> Делаю все как описано в http://www.fastcgi.com/drupal/node/6?q=node/22#S4
> 
> тоесть получаю запрос:
> 
> {FCGI_BEGIN_REQUEST,   1, {FCGI_RESPONDER, 0}}
> {FCGI_PARAMS,          1, "\013\002SERVER_PORT80\013\016SER"}
> {FCGI_PARAMS,          1, "VER_ADDR199.170.183.42 ... "}
> {FCGI_PARAMS,          1, ""}
> {FCGI_STDIN,           1, "quantity=100&item=3047936"}
> {FCGI_STDIN,           1, ""}
> 
> и даю ответ:
> 
>      {FCGI_STDOUT,      1, "Content-type: text/html\r\n\r\n<html>\n<head>  
> ... "}
>      {FCGI_STDOUT,      1, ""}
>      {FCGI_END_REQUEST, 1, {0, FCGI_REQUEST_COMPLETE}}
> 
> проблема в том, что пока приложение не закроет соединение -- nginx ничего
> не отдает http клиенту. с lighttpd все ок. это так и должно быть? nginx
> требует закрытия соединения? или ему недостаточно одного FCGI_END_REQUEST
> и нужно слать еще чтото?

Есть подозрение, что не включен TCP_NODELAY или включен TCP_NOPUSH и nginx FCGI_END_REQUEST не получает до тех пор, пока не закроется соединение.

-- 
Regards,
Valery Kholodkov





More information about the nginx-ru mailing list