Книга: UNIX: разработка сетевых приложений
25.4. Резюме
25.4. Резюме
При управляемом сигналом вводе-выводе ядро уведомляет процесс сигналом SIGIO
, если «что-нибудь» происходит на сокете.
? Для присоединенного TCP-сокета существует множество ситуаций, которые вызывают такое уведомление, что делает эту возможность практически бесполезной.
? Для прослушиваемого TCP-сокета уведомление приходит процессу только в случае готовности принятия нового соединения.
? Для UDP такое уведомление означает, что либо пришла дейтаграмма, либо произошла асинхронная ошибка: в обоих случаях вызывается recvfrom
.
С помощью метода, аналогичного применяемому для сервера NTP, был изменен эхо-сервер UDP для работы с вводом-выводом, управляемым сигналом: мы стремимся выполнить чтение дейтаграммы как можно быстрее после ее прибытия, чтобы получить точную отметку времени прибытия и поставить дейтаграмму в очередь для дальнейшей обработки.