Книга: UNIX: разработка сетевых приложений
9.5. Функция sctp_getpaddrs
9.5. Функция sctp_getpaddrs
Функция getpeername
не предназначена для использования протоколом, рассчитанным на работу с многоинтерфейсными узлами. Для сокетов SCTP она способна вернуть лишь основной адрес собеседника. Если нужны все адреса, следует вызывать функцию sctp_getpaddrs
.
#include <netinet/sctp.h>
int sctp_getpaddrs(int sockfd, sctp_assoc_t id, struct sockadrrd **addrs);
Возвращает: 0 в случае успешного завершения, -1 в случае ошибки
Аргумент sockfd
представляет собой дескриптор сокета, возвращаемый функцией socket
. Второй аргумент задает идентификатор ассоциации для сокетов типа «один-ко-многим». Для сокетов типа «один-к-одному» этот аргумент игнорируется. addrs
— адрес указателя, который функция sctp_getpaddrs
заполнит упакованным списком адресов, выделив под него локальный буфер (см. рис. 9.3 и листинг 23.12). Для освобождения буфера, созданного sctp_getpaddrs
, следует использовать вызов sctp_freepaddrs
.
- 9.1. Введение
- 9.2. Модели интерфейса
- 9.3. Функция sctp_bindx
- 9.4. Функция sctp_connectx
- 9.5. Функция sctp_getpaddrs
- 9.6. Функция sctp_freepaddrs
- 9.7. Функция sctp_getladdrs
- 9.8. Функция sctp_freeladdrs
- 9.9. Функция sctp_sendmsg
- 9.10. Функция sctp_recvmsg
- 9.11. Функция sctp_opt_info
- 9.12. Функция sctp_peeloff
- 9.13. Функция shutdown
- 9.14. Уведомления
- 9.15. Резюме
- Упражнения
- 9.8. Функция sctp_freeladdrs
- Глава 9 Основы сокетов SCTP
- 9.6. Функция sctp_freepaddrs
- 2.1.3. Функция getopt_long()
- Группировка по встроенным функциям и UDF
- 19.1.1. Функция jQuery()
- SCTP Characteristics
- SCTP Headers
- SCTP Generic header format
- SCTP Common and generic headers
- SCTP ABORT chunk
- SCTP COOKIE ACK chunk