|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 04 Mar 2006 18:45:06 To : Valentin Davydov Subject : Re: Форкающийся tcp-демон --------------------------------------------------------------------------------
04 мар 2006, суббота, в 13:21 KRAST, Valentin Davydov написал(а):
VD>> Как известно, классический сабж вызывает сначала socket(2), потом
VD>> bind(2), затем listen(2), потом accept(2), затем может форкнуться
VD>> и передать потомку полученный в результате этого acceptа дескриптор.
VD>> Вопрос: к моменту возврата из acceptа какие пакеты, относящиеся к
VD>> этому соединению, прошли по сети?
>>Трехступенчатый handshake.
VD> То есть от клиента tcp-пакет с установленным SYN, обратно SYN,ACK, а по
VD> приходу следующего ACK от клиента вываливаемся из accept(), больше ничего
VD> ему не посылая, так?
По-моему, так (c). Если тебе надо, чтобы по выходу из accept()
уже было что прочитать из сокета, используй accf_data(9).
Тогда accept() будет задерживать выход until data arrives on the connection.
Меньше переключений контекста.
Eugene
--
Choose SMTP and wondering why the fsck you are logged on on a Sunday morning
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093f275a124.html, оценка из 5, голосов 10
|