UNIX: разработка сетевых приложений
UNIX: разработка сетевых приложений читать книгу онлайн
Новое издание книги, посвященной созданию веб-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию. В книгу включено описание ключевых современных стандартов, реализаций и методов, она содержит большое количество иллюстрирующих примеров и может использоваться как учебник по программированию в сетях, так и в качестве справочника для опытных программистов.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
struct sctp_paddrparams { sctp_assoc_t spp_assoc_id; struct sockaddr_storage spp_address; u_int32_t spp_hbinterval; u_int16_t spp_pathmaxrxt;};Поля структуры имеют следующий смысл:
■
spp_assoc_id■
spp_address■
spp_hbintervalSCTP_NO_HBSCTP_ISSUE_HBSCTP_ISSUE_HB■
spp_hbpathmaxrxtINACTIVEПараметр сокета SCTP_PRIMARY_ADDR
Параметр позволяет узнать или установить адрес, используемый локальной конечной точкой SCTP в качестве основного. Основной адрес используется в качестве адреса назначения во всех сообщениях, передаваемых собеседнику. Приложение должно заполнить структуру
sctp_setprimstruct sctp_setprim { sctp_assoc_t ssp_assoc_id; struct sockaddr_storage ssp_addr;};Поля структуры имеют следующий смысл:
■
ssp_assoc_id■
ssp_addrsetsockoptПолучение значения этого параметра для сокета типа «один-к-одному» с единственным локальным адресом эквивалентно вызову функции
getsocknameПараметр сокета SCTP_RTOINFO
Параметр используется для считывания и установки различных тайм-аутов для конкретной ассоциации или используемых по умолчанию для конечной точки. Для считывания параметров по соображениям переносимости следует использовать функцию
sctp_opt_infogetsockoptsctp_rtoinfostruct sctp_rtoinfo { sctp_assoc_t srto_assoc_id; uint32_t srto_initial; uint32_t srto_max; uint32_t srto_min;};Поля структуры имеют следующий смысл:
■
srto_assoc_id■
srto_initial■
srto_max■
srto_minЗапись 0 в поля
srto_initialsrto_maxsrto_minПараметр сокета SCTP_SET_PEER_PRIMARY_ADDR
Установка этого параметра приводит к отправке собеседнику сообщения, запрашивающего установку конкретного локального адреса в качестве основного. Процесс должен заполнить структуру
sctp_setpeerprimsctp_setpeerprimstruct sctp_setpeerprim { sctp_assoc_t sspp_assoc_id; struct sockaddr_storage sspp_addr;};Ниже приводится описание полей структуры.
■
sspp_assoc_id■
sspp_addrПоддержка этой функции SCTP не является обязательной. Если локальная конечная точка не поддерживает параметр, процессу будет возвращена ошибка EOPNOTSUPP. Если же параметр не поддерживается удаленной конечной точкой, ошибка будет другой: EINVAL. Обратите внимание, что данный параметр не может использоваться для считывания основного адреса; он служит только для установки нового адреса в качестве основного.
Параметр сокета SCTP_STATUS
Этот параметр сокета служит для получения информации о текущем статусе ассоциации SCTP. Для обеспечения максимальной переносимости пользуйтесь функцией
sctp_opt_infogetaddrinfosctp_statussstat_assoc_idsctp_status
