Новая универсальная структура адреса сокета

Новая универсальная структура адреса сокета

Новая универсальная структура адреса сокета была определена как часть API сокетов IPv6 с целью преодолеть некоторые недостатки существующей структуры sockaddr. В отличие от структуры sockaddr, новая структура sockaddr_storage достаточно велика для хранения адреса сокета любого типа, поддерживаемого системой. Новая структура задается подключением заголовочного файла <netinet/in.h>, часть которого показана в листинге 3.4.

Листинг 3.4. Структура хранения адреса сокета sockaddr_storage

struct sockaddr_storage {

 uint8_t ss_len;        /* длина этой структуры (зависит от реализации) */

 sa_family_t ss_family; /* семейство адреса. AF_xxx */

 /* зависящие от реализации элементы, обеспечивающие:

  а) выравнивание, достаточное для выполнения требований по выравниванию всех

     типов адресов сокетов, поддерживаемых системой;

  б) достаточный объем для хранения адреса сокета любого типа,

     поддерживаемого системой. */

};

Тип sockaddr_storage — это универсальная структура адреса сокета, отличающаяся от struct sockaddr по следующим параметрам:

1. Если к структурам адресов сокетов, поддерживаемым системой, предъявляются требования по выравниванию, структура sockaddr_storage выполняет самое жесткое из них.

2. Структура sockaddr_storage достаточно велика для размещения любой структуры адреса сокета, поддерживаемой системой.

Заметьте, что поля структуры sockaddr_storage непрозрачны для пользователя, за исключением ss_family и ss_len (если таковые заданы). Структура sockaddr_storage должна преобразовываться в структуру адреса соответствующего типа для обращения к содержимому остальных полей.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Универсальная уязвимость по Дауду

Из книги Журнал `Компьютерра` N733 автора Журнал «Компьютерра»

Универсальная уязвимость по Дауду Автор: Киви БердМир компьютерной безопасности живет таким образом, что здесь чуть ли не каждый день выявляются все новые и новые дыры-уязвимости. Число которых, несмотря на постоянную с ними борьбу и латания, ничуть не уменьшается. Как


ОГОРОД КОЗЛОВСКОГО: Универсальная кормушка

Из книги Журнал «Компьютерра» № 4 за 31 января 2006 года автора Журнал «Компьютерра»

ОГОРОД КОЗЛОВСКОГО: Универсальная кормушка Автор: Козловский ЕвгенийПеред первой своей поездкой в Америку (а было это уже больше десяти лет назад), на выставку MacWorld в Бостоне, я пошел в универмаг «Москва» и, погуляв по третьему этажу, выбрал рюкзак от Samsonite по совершенно


ОГОРОД КОЗЛОВСКОГО: Универсальная машина

Из книги Журнал «Компьютерра» № 24 от 26 июня 2007 года автора Журнал «Компьютерра»

ОГОРОД КОЗЛОВСКОГО: Универсальная машина Автор: Козловский ЕвгенийСсориться с Logitech, признаюсь, мне совсем не хочется: мне нравится эта фирма, я с большим удовольствием и без малейших нареканий пользуюсь, например, ее веб-камерой, а недавно мне в руки попала изумительной


ОПЫТЫ: Универсальная гармошка:Пульт Logitech Harmony 785

Из книги Журнал `Компьютерра` №755 автора Журнал «Компьютерра»

ОПЫТЫ: Универсальная гармошка:Пульт Logitech Harmony 785 Автор: Алекс ЭкслерКак и многие другие люди, я делю квартиру с кучей самых разных электронных устройств: видеопроектором, ресивером, DVD-проигрывателем, двумя мультимедийными плеерами, ЖК-панелью, еще одним DVD, караоке и даже


45 Новая среда

Из книги Человеческий фактор в программировании автора Константин Ларри Л

45 Новая среда Конечные пользователи, сидящие перед 19-дюймовыми мониторами, могут даже и не знать о том, является приобретенное программное обеспечение объектно-ориентированным "или нет. Можно даже утверждать, что если пользователи не прочитают об этом на коробке, в


5. Новая структура интеллекта

Из книги Об интеллекте [другая версия перевода книги] автора Хокинс Джефф

5. Новая структура интеллекта Однажды в апреле 1986 года я размышлял над тем, что значит «понимать» что-либо. Несколько месяцев я бился над фундаментальным вопросом, Чем же занимается мозг, если он не продуцирует поведение? Что делает мозг, когда он пассивно слушает речь? Что


Структура адреса страницы Google с результатами поиска

Из книги Интернет. Новые возможности. Трюки и эффекты [litres] автора Баловсяк Надежда Васильевна

Структура адреса страницы Google с результатами поиска Информация о структуре адреса страницы с результатами поиска позволит вам лучше разобраться в принципах использования поисковых машин.Вот пример характерного адреса: http://www.google.com/search?num=55&hl=en&q=piter. Он состоит из


Новая цена

Из книги Удвоение продаж в интернет-магазине автора Парабеллум Андрей Алексеевич

Новая цена Используйте всем известное зачеркивание цен, это очень хорошо работает (рис. 5). Например, ваш товар реально стоил 1490 рублей. Вы ставите на него завышенную цену – 1690 рублей, потом зачеркиваете ее и пишете новую


Новая структура данных на диске: ODS11

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Новая структура данных на диске: ODS11 Для поддержки нововведений базы данных, созданные (или восстановленные) в InterBase 7, имеют новую версию внутренней структуры базы данных - On-Disk Structure (ODS). Новая версия ODS несовместима с прежними ODS. Это значит, что старые версии InterBase и клоны


Универсальная флешка от Sony для пользователей компьютеров и смартфонов Николай Маслухин

Из книги Цифровой журнал «Компьютерра» № 204 автора Журнал «Компьютерра»

Универсальная флешка от Sony для пользователей компьютеров и смартфонов Николай Маслухин Опубликовано 16 декабря 2013 Компания Sony объявила о создании нового флеш-накопителя USB, который представляет собой универсальное двустороннее устройство «2 в 1»


Структура адреса сокета IPv4

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Структура адреса сокета IPv4 Структура адреса сокета IPv4, обычно называемая структурой адреса сокета Интернета, именуется sockaddr_in и определяется в заголовочном файле <netinet/in.h>. В листинге 3.1[1] представлено определение POSIX.Листинг 3.1. Структура адреса сокета Интернета (IPv4):


Структура адреса сокета IPv6

Из книги автора

Структура адреса сокета IPv6 Структура адреса сокета IPv6 задается при помощи включения заголовочного файла <netinet/in.h>, как показано в листинге 3.3.Листинг 3.3. Структура адреса сокета IPv6: sockaddr_in6struct in6_addr { uint8_t s6_addr[16]; /* 128-разрядный адрес IPv6 */                      /* сетевой


15.2. Структура адреса доменного сокета Unix

Из книги автора

15.2. Структура адреса доменного сокета Unix В листинге 15.1[1] показана структура адреса доменного сокета Unix, задаваемая включением заголовочного файла <sys/un.h>.Листинг 15.1. Структура адреса доменного сокета Unix: sockaddr_unstruct sockaddr_un { uint8_t     sun_len; sa_family_t sun_family;    /* AF_LOCAL


18.2. Структура адреса сокета канального уровня

Из книги автора

18.2. Структура адреса сокета канального уровня Структуры адреса сокета канального уровня будут встречаться нам как значения, содержащиеся в некоторых сообщениях, возвращаемых на маршрутизирующем сокете. В листинге 18.1[1] показано определение структуры, задаваемой в