listen() игнорирует значение отставания

Насколько я понимаю, отставаниеопределяет размер очереди соединений. Любые дополнительные запросы, превышающие этот размер в это время, будут отброшены (это утверждение верно??).

Теперь у меня есть очень простая программа server.c

socket()
bind()
listen(..., 5)
while(1)
{
  accept()
  read()
  write()
  sleep(3)
  close()
}

Теперь я запускаю 8 клиентов одновременнодля подключения к этому серверу. Удивительно, но сервер обслуживает всех 8 клиентов, но вместо этого он должен ставить в очередь только 5 клиентов, а запросы оставшихся 3 клиентов должны быть отклонены. Еще один интересный момент: даже если я поставлю это значение невыполненной работы равным 0, результат останется прежним. Затем я попытался прокомментировать вызов listen(), при этом все 8 клиентских подключений были отклонены.

Может ли кто-нибудь предоставить какие-либо данные по этому вопросу.

6
задан user1409528 25 May 2012 в 06:36
поделиться