Перейти до вмісту

Сокети Берклі

Матеріал з Вікіпедії — вільної енциклопедії.

Сокети Беркліприкладний програмний інтерфейс, що складається з бібліотеки для розробки програм мовою програмування C з підтримкою міжпроцесної взаємодії, що часто застосовується у комп'ютерних мережах.

Як API, сокети Берклі вперше з'явилися у операційній системі 4.2BSD Unix, що була випущена у 1983 році. Тим не менш, тільки у 1989 році Каліфорнійський університет у Берклі зміг випустити свою операційну систему і мережеві бібліотеки без ліцензійних обмежень з боку AT&T.

Сокети Берклі є де-факто стандартом абстракції для мережевих сокетів. Саме тому багато мов програмування використовують мережеві інтерфейси, подібні до API мови C.

Альтернативою сокетного API є заснований на STREAMS Інтерфейс транспортного рівня (TLI). Проте сокети Берклі значно популярніші та мають більшу кількість реалізацій.

Інтерфейс сокетів Берклі

[ред. | ред. код]

Інтерфейс сокетів Берклі дозволяє взаємодію між хостами чи між процесами на одному комп'ютері, використовуючи концепцію Інтернет-сокетів. Дана технологія може працювати з багатьма драйверами та пристроями вводу/виводу, хоча їхня підтримка залежить від конкретної операційної системи. Реалізація інтерфейсу достатня для підтримки TCP/IP, саме тому це одна із основних технологій, на якій заснований Інтернет. Розробка технології була започаткована у Каліфорнійському університеті Берклі для застосування на ОС Unix. Всі сучасні операційні системи мають реалізацію інтерфейсу сокетів Берклі, оскільки вони є стандартним інтерфейсом для підключення до мережі Інтернет.

Інтерфейси сокетів мають три різні рівні доступу, найпотужнішим і найважливішим є рівень необроблених сокетів. Тільки незначне число програм потребує такий рівень контролю над вихідними з'єднаннями, тому необроблені сокети перш за все призначені для комп'ютерів, що використовують для розробки Інтернет-технологій. Пізніше підтримка рівня необроблених сокетів була додана до більшості операційних систем, включаючи Windows XP.

Посилання

[ред. | ред. код]