LINUX.ORG.RU

Помогите прочесть википедию

 , , ,


0

1

Здравствуйте. Страница «Berkley Sockets», раздел «Protocol and address families»

Ссылка

Все слова по отдельности понимаю что значат, а вот приложение из них составленное не хочет преобразовываться в законченную ментальную конструкцию внутри моей головы.

Буду признателен, если кто-нибудь объяснит своими словами. Особенно последние два предложения:

The original design concept of the socket interface distinguished between protocol types (families) and the specific address types that each may use. It was envisioned that a protocol family may have several address types. Address types were defined by additional symbolic constants, using the prefix AF instead of PF. The AF-identifiers are intended for all data structures that specifically deal with the address type and not the protocol family. However, this concept of separation of protocol and address type has not found implementation support and the AF-constants were defined by the corresponding protocol identifier, leaving the distinction between AF and PF constants as a technical argument of no practical consequence. Indeed, much confusion exists in the proper usage of both forms.[4]

inb: 4 звезды, а такой тупой. Ололо

★★★★★

Последнее исправление: makoven (всего исправлений: 3)

В теории, каждый протокол может иметь несколько способов адресации :-) Поэтому логично ту часть API, которая отвечает за работу с адресами (AF) отделить от части API, которая отвечает за работу с протоколами (PF) :-) Но на практике это не прижилось и AF-константы с префиксами лишь для теоретических рассуждений :-)

anonymous
()

В твоём отрывке 2 последних предложения изи же. «Конечно, концепция разделения протоколов и типов адресов не нашла поддержки в реализации и AF-константы (ХЗ, что это такое, а читать теорию мне лень) были определены соответствующими идентификаторами протокола, делая различие между AF и PF константами в качестве технического аргумента не значимым на практике. Действительно, большая путаница возникает в корректном использовании обоих форм.» А вообще гугл переводчиком пользовался? Если так плохо с английским, то подтяни его.

peregrine ★★★★★
()

Или ещё проще - у каждого протокола своя схема адресации :-) Т.е. кардинальность взаимосвязи 1 - 1 :-) А изначальная концепция дизайна интерфейса сокетов предусматривает кардинальность N - M :-)

anonymous
()

Изначально разделили на разные сущности протоколы (PF_*) и семейства адресов (AF_*), поскольку предполагалось что протокол может поддерживать несколько типов адресов. На практике это оказалось нафиг не нужно, поэтому PF_foo и AF_foo не просто имеют одно и то же значение, но одно обычно определено как #define на другое, поэтому их часто используют вместо друг друга и путают, хотя в большинстве реализаций это не влечёт никаких последствий. По-хорошему, понятно, нужно использовать PF_ там где требуется протокол, и AF_ там где работаешь с адресами.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Вот это самое понятное.

Всем спасибо. Вроде что-то прояснилось

makoven ★★★★★
() автор топика

стивенса почитай вместо википедии. а по сабжу уже пояснили

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.