Шрифт:
Максимальное увеличение эффективности происходит при трех одновременных соединениях (время уменьшается вдвое), а при четырех и более одновременных соединениях прирост производительности значительно меньше.
16.6. Неблокируемая функция accept
Как было сказано в главе 6, функция
К сожалению, существует определенная проблема, связанная со временем, способная запутать нас [34]. Чтобы увидеть эту проблему, изменим код нашего эхо- клиента TCP (см. листинг 5.3) таким образом, чтобы после установления соединения серверу отсылался сегмент RST. В листинге 16.14 представлена новая версия.
Листинг 16.14. Эхо-клиент TCP, устанавливающий соединение и посылающий серверу сегмент RST
Потом мы изменяем наш сервер TCP, приведенный в листингах 6.3 и 6.4, с тем чтобы после сообщения функции
Здесь мы имитируем занятый сервер, который не может вызвать функцию
В разделе 5.11 мы отмечали, что когда клиент разрывает соединение до того, как сервер вызывает функцию
Клиент устанавливает соединение и затем прерывает его, как показано в листинге 16.14.
Функция