UNIX: разработка сетевых приложений
Шрифт:
Таблица 7.2. Параметры сокетов транспортного уровня
Level | optname | get | set | Описание | Флаг | Тип данных |
---|---|---|---|---|---|---|
IPPROTO_TCP | TCP_MAXSEG | • | • | Максимальный размер сегмента TCP | int | |
TCP_NODELAY | • | • | Отключает
| • | int | |
IPPROTO_SCTP | SCTP_ADAPTION_LAYER | • | • | Указание на уровень адаптации | sctp_setadaption | |
SCTP_ASSOCINFO | + | • | Получение и задание сведений об ассоциации | sctp_assocparamms{} | ||
SCTP_AUTOCLOSE | • | • | Автоматическое закрытие | int | ||
SCTP_DEFAULT_SEND_PARAM | • | • | Параметры отправки но умолчанию | sctp_sndrcvinfo{} | ||
SCTP_DISABLE_FRAGMENTS | • | • | Фрагментация SCTP | • | int | |
SCTP_EVENTS | • | • | Уведомление об интересующих событиях | sctp_event_subscribe{} | ||
SCTP_GET_PEER_ADDR_INFO | + | Получение состояния адреса собеседника | sctp_paddrinfo{} | |||
SCTP_I_WANT_MAPPED_V4_ADDR | • | • | Отображение адресов IPv4 | • | int | |
SCTP_INITMSG | • | • | Параметры пакета INIT по умолчанию | sctp_initmsg{} | ||
SCTP_MAXBURST | • | • | Максимальный размер набора пакетов | int | ||
SCTP_MAXSEG | • | • | Максимальный размер фрагментации | int | ||
SCTP_NODELAY | • | • | Отключение алгоритма Нагла | • | int | |
SCTP_PEER_ADDR_PARAMS | + | • | Параметры адреса собеседника | sctp_paddrparams{) | ||
SCTP_PRIMARY_ADDR | + | • | Основной адрес назначения | sctp_setprim{} | ||
SCTP_RTOINFO | + | • | Информация RTO | sctp_rtoinfo{} | ||
SCTP_SET_PEER_PRIMARY_ADDR | • | Основной
| sctp_setpeerprim{} | |||
SCTP_STATUS | + | Получение сведений о статусе ассоциации | sctp_status{} |
Существует два основных типа параметров: двоичные параметры, включающие или отключающие определенное свойство (флаги), и параметры, получающие и возвращающие значения параметров, которые мы можем либо задавать, либо проверять. В колонке «Флаг» указывается, относится ли параметр к флагам. Для флагов при вызове функции
В последующих разделах этой главы приводятся дополнительные подробности о параметрах сокетов.
7.3. Проверка наличия параметра и получение значения по умолчанию
Напишем программу, которая проверяет, поддерживается ли большинство параметров, представленных в табл. 7.1 и 7.2, и если да, то выводит их значения, заданные по умолчанию. В листинге 7.1 [1] содержатся объявления нашей программы.
Листинг 7.1. Объявления для нашей программы, проверяющей параметры сокетов
1
Все исходные коды программ, опубликованные в этой книге, вы можете найти по адресу http://www.piter.com.