История изменений
Исправление user_id_68054, (текущая версия) :
Т.о. HTTP/1.1 предполагает наличие постоянных соединений. Я это все прочитаю, засумирую и сделаю. Протестирую. Не волнуйтесь :)
хорошо! в целом это полезное дело (и не будет идти в разрез с сущестющими реализациями клиентов HTTP/1.1).
но только умоляю, если будешь реализовывать *честный* keep-alive (а не долгий timeout, напоминающий внешне keep-alive) — то пожалуйста выставь соответствующую опцию а сокете:
int optval;
socklen_t optlen = sizeof(optval);
// ...
optval = 1;
optlen = sizeof(optval);
if(setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen) < 0) {
perror("setsockopt()");
close(s);
exit(EXIT_FAILURE);
}
(копировал из этого примера — http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/programming.html )
иначе я буду очень волноваться.. (у меня последнее время одни только нервные расстройства на почве этих-всяких keep-alive :-).. хренова туча народу уже наделала утечки ресурсов (из-за неправильных реализаций), а я только и давай им всем отписывать багрепорты — прям кошмар последнего столетия)
# P.S.: так как речь идёт об «nginx <-> httpd» — утечек ресурсов НЕ будет даже при неправильной-реализации, если обе программы запущены на одной компьютере.
Исправление user_id_68054, :
Т.о. HTTP/1.1 предполагает наличие постоянных соединений. Я это все прочитаю, засумирую и сделаю. Протестирую. Не волнуйтесь :)
хорошо! в целом это полезное дело (и не будет идти в разрез с сущестющими реализациями клиентов HTTP/1.1).
но только умоляю, если будешь реализовывать *честный* keep-alive (а не долгий timeout, напоминающий внешне keep-alive) — то пожалуйста выставь соответствующую опцию а сокете:
int optval;
socklen_t optlen = sizeof(optval);
// ...
optval = 1;
optlen = sizeof(optval);
if(setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen) < 0) {
perror("setsockopt()");
close(s);
exit(EXIT_FAILURE);
}
(копировал из этого примера — http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/programming.html )
иначе я буду очень волноваться.. (у меня последнее время одни только нервные расстройства на почве этих-всяких keep-alive :-).. хренова туча народу уже наделала утечки ресурсов (из-за неправильных реализаций), а я только и давай им всем отписывать багрепорты — прям кошмар последнего столетия)
# P.S.: так как речь идёт об «nginx <-> httpd» — утечек ресурсов не будет даже при неправильной-реализации
Исправление user_id_68054, :
Т.о. HTTP/1.1 предполагает наличие постоянных соединений. Я это все прочитаю, засумирую и сделаю. Протестирую. Не волнуйтесь :)
хорошо! в целом это полезное дело (и не будет идти в разрез с сущестющими реализациями клиентов HTTP/1.1).
но только умоляю, если будешь реализовывать *честный* keep-alive (а не долгий timeout, напоминающий внешне keep-alive) — то пожалуйста выставь соответствующую опцию а сокете:
int optval;
socklen_t optlen = sizeof(optval);
// ...
optval = 1;
optlen = sizeof(optval);
if(setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen) < 0) {
perror("setsockopt()");
close(s);
exit(EXIT_FAILURE);
}
(копировал из этого примера — http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/programming.html )
иначе я буду очень волноваться.. (у меня последнее время одни только нервные расстройства на почве этих-всяких keep-alive :-).. хренова туча народу уже наделала утечки ресурсов (из-за неправильных реализаций), а я только и давай им всем отписывать багрепорты — прям кошмар последнего столетия)
Исходная версия user_id_68054, :
Т.о. HTTP/1.1 предполагает наличие постоянных соединений. Я это все прочитаю, засумирую и сделаю. Протестирую. Не волнуйтесь :)
хорошо! в целом это полезное дело (и не будет идти в разрез с сущестющими реализациями клиентов HTTP/1.1).
но только умоляю, если будешь реализовывать *честный* keep-alive (а не долгий timeout, напоминающий внешне на keep-alive) — то пожалуйста выставь соответствующую опцию а сокете:
int optval;
socklen_t optlen = sizeof(optval);
// ...
optval = 1;
optlen = sizeof(optval);
if(setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen) < 0) {
perror("setsockopt()");
close(s);
exit(EXIT_FAILURE);
}
(копировал из этого примера — http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/programming.html )
иначе я буду очень волноваться.. (у меня последнее время одни только нервные расстройства на почве этих-всяких keep-alive :-))