|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Oleg Koreshkov 2:5020/400 04 Feb 2004 13:53:43 To : Slawa Olhovchenkov Subject : Re: sendfile -------------------------------------------------------------------------------- "Slawa Olhovchenkov" <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> wrote in message news:1075886020@f500.n5030.z2.ftn... > Hello Igor! > > 04 Feb 04, Igor Sysoev writes to "Oleg Koreshkov": > > >>> Т.е. я понимаю, что 1460=1500-40. Hо 1176 и 892 -- не понимаю. > >> 1460 + 1460 + 1176 = 4096 > >> просветление наступает? > > IS> Именно так. 1460, 1460, 1176, 1460, 1460, 1176. > > Доктор, что я делаю неправильно?! > (отчет tcpdump убежал ранее) > > IS> Я с этим борюсь просто - как в Линуксе, перед выдачей http заголовка > IS> включаю TCP_NOPUSH, а по окончании передачи - выключаю. В результате > IS> и заголовок попадает в один пакет с куском файла, и все файловые пакеты > IS> идут полными. > > # grep -r TCP_NOPUSH /usr/ports/www/thttpd/ thttpd исскуственно комбинирует заголовки и часть ответа в один пакет: ... /* Yes. We'll combine headers and file into a single writev(), ** hoping that this generates a single packet. */ struct iovec iv[2]; iv[0].iov_base = hc->response; iv[0].iov_len = hc->responselen; iv[1].iov_base = &(hc->file_address[c->bytes_sent]); iv[1].iov_len = MIN( c->bytes_to_send - c->bytes_sent, c->max_limit ); sz = writev( hc->conn_fd, iv, 2 ); } ... --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577c446cb8c.html, оценка из 5, голосов 10
|