UNIX: разработка сетевых приложений
UNIX: разработка сетевых приложений читать книгу онлайн
Новое издание книги, посвященной созданию веб-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию. В книгу включено описание ключевых современных стандартов, реализаций и методов, она содержит большое количество иллюстрирующих примеров и может использоваться как учебник по программированию в сетях, так и в качестве справочника для опытных программистов.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
struct sctp_status { sctp_assoc_t sstat_assoc_id; int32_t sstat_state; u_int32_t sstat_rwnd; u_int16_t sstat_unackdata; u_int16_t sstat_penddata; u_int16_t sstat_instrms; u_int16_t sstat_outstrms; u_int32_t sstat_fragmentation_point; struct sctp_paddrinfo sstat_primary;};Поля структуры имеют следующий смысл:
■
sstat_assoc_id■
sstat_state■
sstat_rwnd■
sstat_unackdata■
sstat_penddata■
sstat_instrms■
sstat_outstrms■
sstat_fragmentation_pointSCTP_MAXSEG■
sstat_primaryТаблица 7.8. Состояния SCTP
| Константа | Описание |
|---|---|
| SCTP_CLOSED | Ассоциация закрыта |
| SCTP_COOKIE_WAIT | Ассоциация отправила пакет INIT |
| SCTP_COOKIE_ECHOED | Ассоциация отправила эхо-ответ cookie |
| SCTP_ESTABLISHED | Ассоциация установлена |
| SCTP_SHUTDOWN_PENDING | Ассоциация ждет отправки сообщения о завершении |
| SCTP_SHUTDOWN_SENT | Ассоциация отправила сообщение о завершении |
| SCTP_SHUTDOWN_RECEIVED | Ассоциация получила сообщение о завершении |
| SCTP_SHUTDOWN_ACK_SENT | Ассоциация ждет пакета SHUTDOWN-COMPLETE |
Эти параметры полезны для диагностики соединения и определения характеристик текущего сеанса. Например, функция
sctp_get_no_strmssstat_outstrmssstat_rwndsstat_unackdatasstat_fragmentation_point7.11. Функция fcntl
Сокращение
fcntlfcntlioctlТаблица 7.9. Операции функций fcntl и ioctl и маршрутизирующих сокетов
| Операция | fcntl | ioctl | Маршрутизирующий сокет | Posix.1g |
|---|---|---|---|---|
| Установка сокета для неблокируемого ввода-вывода | F_SETFL, O_NONBLOCK | FIONBIO | fcntl | |
| Установка сокета для ввода-вывода, управляемого сигналом | F_SETFL, O_ASYNC | FIOASYNC | fcntl | |
| Установка владельца сокета | F_SETOWN | SIOCSPGRP или FIOSETOWN | fcntl | |
| Получение владельца сокета | F_GETOWN | SIOCGPGRP или FIOGETOWN | fcntl | |
| Получение текущего количества байтов в приемном буфере сокета | FIONREAD | |||
| Проверка, находится ли процесс на отметке внеполосных данных | SIOCATMARK | sockatmark | ||
| Получение списка интерфейсов | SIOCGIFCONF | Sysctl | ||
| Операции интерфейсов | SIOC[GS]IFxxx | |||
| Кэш-операции ARP | SIOCxARP | RTM_xxx | ||
| Операции таблицы маршрутизации | SIOGxxxRT | RTM_xxx |
