Сокети, датаграми і канали зв'язку
У локальних і глобальних мережах існує два принципово різних способу передачі даних - Датаграммним і потоковий.
Перший з них передбачає посилку пакетів даних від одного вузла іншому (або відразу декільком вузлам) без отримання підтвердження про дос-тавки і навіть без гарантії того, що передані пакети будуть отримані в правильній послідовності. Прикладом такого протоколу може служити протокол UDP (User Datagram Protocol), який використовується в мережах TCP / IP, або протоколIPX, який є базовим у мережах Novell NetWare.
Основні переваги датаграммной протоколів полягають в ви-соком швидкодії і можливості широкомовної передачі даних, коли один вузол відправляє повідомлення, а інші їх одержують, причому всі одночасно.
Другий спосіб передачі даних передбачає створення каналу передачі даних між двома різними вузлами мережі. При цьому канал створюється засобами датаграммной протоколів, однак доставка пакетів в каналі яв-ляется гарантованої. Пакети завжди доходять в цілісності і сохранно-сти, причому в правильному порядку, хоча швидкодія виходить в середовищ-ньому нижче за рахунок посилки підтверджень. Прикладами протоколів, викорис-зующих канали зв'язку, можуть служити протоколи TCP і SPX (протокол NetBIOS допускає передачу даних з використанням як датаграмм, так і каналів зв'язку).
Для передачі даних з використанням будь-якого з перерахованих вище способів кожен додаток має створити об'єкт, який називається сокетом. Вперше поняття сокета як реалізації функцій інтерфейсу при-прикладного програмування було запропоновано в університеті Берклі, Ка-ліфорнія (University of California at Berkeley Sockets APT) при розробці специфікації BerkeleyUNIX). Сокет забезпечує кінцеву точку соеди-вати і функціонує як двонаправлений канал для вхідних і исхо-дящих даних між комп'ютерами в мережі.
При програмуванні сокет найбільше схожий на ідентифікатор фай-ла (file handle), який потрібен для виконання над файлом операцій читання або запису. Перш ніж додаток, запущене на вузлі мережі, зможе ви-конувати передачу або прийом даних, воно повинно створити сокет і проинициализировать його, вказавши деякі параметри.
У деяких випадках доцільно використовувати протокол негаранті-рова доставки UDP (User Datagram Protocol), так як він, наприклад, до-пускає одночасну розсилку пакетів по всіх вузлах мережі (режим broadcast]. При цьому не потрібно створювати канал даних, тому процедура ініціати- лізації спрощується.
• www.startup.com і ін.
Таким чином, інтерфейс Windows Sockets надає программи-сту набір функцій високого рівня (і в той же час гнучких в використан-ванні), достатній для самостійного створення мережевого додатки практично будь-який (необхідної в конкретному випадку) складності.