| Листинг | Описание |
|---|---|
| 5.3 | TCP/IPv4, зависимый от протокола |
| 6.1 | TCP, использует функцию select |
| 6.2 | TCP, использует функцию select и работает в пакетном режиме |
| 8.3 | UDP/IPv4, зависимый от протокола |
| 8.5 | UDP, проверяет адрес сервера |
| 8.7 | UDP, вызывает функцию connect для получения асинхронных ошибок |
| 14.2 | UDP, тайм-аут при чтении ответа сервера с использованием сигнала SIGALRM |
| 14.4 | UDP, тайм-аут при чтении ответа сервера с использованием функции select |
| 14.5 | UDP, тайм-аут при чтении ответа сервера с использованием опции сокета SO_RCVTIMEO |
| 14.7 | TCP, использует интерфейс /dev/poll |
| 14.8 | TCP, использует интерфейс kqueue |
| 15.4 | Поток домена Unix, зависит от протокола |
| 15.6 | Дейтаграмма домена Unix, зависит от протокола |
| 16.1 | TCP, использует неблокируемый ввод-вывод |
| 16.6 | TCP, использует два процесса (функцию fork) |
| 16.14 | TCP, устанавливает соединение, затем посылает пакет RST |
| 20.1 | UDP, широковещательный, ситуация гонок |
| 20.2 | UDP, широковещательный, ситуация гонок |
| 20.3 | UDP, широковещательный, для устранения ситуации гонок используется функция pselect |
| 20.5 | UDP, широковещательный, для устранения ситуации гонок используются функции sigsetjmp и siglongmp |
| 20.6 | UDP, широковещательный, для устранения ситуации гонок в обработчике сигнала используется IPC |
| 22.4 | UDP, увеличение надежности протокола за счет применения повторной передачи, тайм-аутов и порядковых номеров |
| 26.1 | TCP, использование двух потоков |
| 27.4 | TCP/IPv4, задание маршрута от отправителя |
| 27.5 | UDP/IPv6, задание маршрута от отправителя |
Таблица 1.4. Различные версии эхо-сервера, рассматриваемые в данной книге