Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
21.3 Блокированные и неблокированные вызовы
21.3 Блокированные и неблокированные вызовы
Когда программа читает данные из сетевого соединения, трудно предсказать заранее, как долго будет продолжаться эта операция. Программист может только дождаться полного завершения чтения или перейти на другое место в программе и периодически проверять значение переменной статуса соединения, либо разрешить программное прерывание по окончании операции.
? Вызов с последующим ожиданием называется блокированным (blocking) или синхронным (synchronous).
? Вызов с переходом на выполнение других операций называется неблокированным (nonblocking) или асинхронным (asynchronous).
В программном интерфейсе socket вызовы могут быть блокированными или неблокированными, а программист способен управлять поведением вызова.
- 21.1 Введение
- 21.2 Службы socket
- 21.3 Блокированные и неблокированные вызовы
- 21.4 Вызовы socket
- 21.5 Программирование работы TCP socket
- 21.6 Серверная программа TCP
- 21.7 Клиентская программа TCP
- 21.8 Более простой сервер
- 21.9 Интерфейс программирования socket для UDP
- 21.10 Программа сервера UDP
- 21.11 Клиентская программа UDP
- 21.12 Дополнительная литература
- 21.4 Вызовы socket
- Системные вызовы и драйверы устройств
- Системные вызовы управления процессорной привязкой
- Часть I Скрываем свое местонахождение и посещаем заблокированные сайты
- Вызовы функций
- Другие системные вызовы для управления файлами
- 3.2.3. Системные вызовы: brk() и sbrk()
- 3.2.1. Библиотечные вызовы: malloc(), calloc(), realloc(), free()
- 3.2.4. Вызовы ленивых программистов: alloca()
- 10.4.4. Системные вызовы, допускающие повторный запуск
- Системные вызовы и функции стандартных библиотек
- Отложенные вызовы