Отловить момент, когда закачка завершена

Igor Sysoev is at rambler-co.ru
Wed Feb 8 11:10:28 MSK 2006


On Tue, 7 Feb 2006, Andrew Velikoredchanin wrote:

> Igor Sysoev пишет:
>> On Tue, 7 Feb 2006, AleXXX V. NovikoFF wrote:
>>
>>> Возникла необходимость отдавать файлы nginx-ом, мне нужно точно знать,
>>> сколько nginx отдал клиенту байтиков, и отловить тот момент, когда
>>> закачка завершена (допустим запускать какой-то скрипт, или писать
>>> что-то куда, событие, может, отправлять...)
>
> ...
>
>> Но нужно учесть, что $body_bytes_sent - это количество переданных клиенту
>> данных с точностью до размера ядерного буфера TCP.
>
> А каков обычно размер этого буфера? И нельзя-ли как-то повысить точность?

В разных ОСах по разному. Во FreeBSD - sysctl net.inet.tcp.sendspace
В Линуксе, если я не ошибась - /proc/sys/net/core/wmem_default:
http://www-128.ibm.com/developerworks/linux/library/l-hisock.html

nginx позволяет задать этот размер в sndbuf= в listen:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#listen


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





More information about the nginx-ru mailing list