Агляд Socket праграмавання для кампутарных сетак

Гняздо з'яўляецца адным з найбольш фундаментальных тэхналогій кампутарнай сеткі праграмавання. Sockets дазваляюць сеткавым праграмным прыкладанням ўзаемадзейнічаць з выкарыстаннем стандартных механізмаў, убудаваных у сетку абсталявання і аперацыйных сістэм.

Хоць гэта можа гучаць як проста яшчэ адна асаблівасць развіцця інтэрнэт-праграмнага забеспячэння, тэхналогіі сокет існавалі задоўга да Інтэрнэту. І многія з сённяшніх найбольш папулярных праграмных прыкладанняў сетак належаць на патрубках.

Што Sockets можа зрабіць для вашай сеткі

Гняздо ўяўляе сабой простую сувязь паміж двума роўна частак праграмнага забеспячэння (так званая кропка-кропка злучэння). Больш за два частак праграмнага забеспячэння можа абменьвацца дадзенымі з кліент / сервер або размеркаваных сістэм з выкарыстаннем некалькіх сокетаў. Напрыклад, многія вэб-браўзэры могуць адначасова ўзаемадзейнічаць з аднаго вэб-сервера праз групу разетак, зробленых на сэрвэры.

Аправа на аснове праграмнага забеспячэння , як правіла , працуе на два розных кампутарах у сеткі, але гнязда могуць таксама выкарыстоўвацца для сувязі на месцы (міжпрацэсных) на адным кампутары. Гнязда з'яўляюцца двунакіраваную, а гэта азначае , што абодва бакі ад сувязі здольная перадачы і прыёму дадзеных. Часам адзін дадатак , якое ініцыюе сувязь называецца «кліент» , а іншае дадатак «сервер» , але гэтая тэрміналогія прыводзіць да блытаніны ў аднарангавыя сеткі і варта пазбягаць.

Кантавыя API-інтэрфейсы і бібліятэкі

Некалькі бібліятэк , якія рэалізуюць стандартныя інтэрфейсы прыкладнога праграмавання (API) існуюць у Інтэрнэце. Першы пакет мэйнстрым - Берклі Аправа бібліятэка па-ранейшаму шырока выкарыстоўваецца ў сістэмах UNIX. Іншы распаўсюджаны API з'яўляецца Windows Sockets (WinSock) бібліятэка для аперацыйных сістэм Microsoft. У параўнанні з іншымі камп'ютарнымі тэхналогіямі, сокеты API, досыць спелае: WinSock быў у эксплуатацыі з 1993 года і Берклі сокетаў з 1982 года.

API-сокет з'яўляюцца адносна невялікімі і простымі. Многія функцыі аналагічныя тым, якія выкарыстоўваюцца ў файле ўводу / высновы падпраграм, такіх як чытаць () , <тт> напісаць () і <тт> блізка () , Фактычная функцыя патрабуе выкарыстанне залежыць ад мовы праграмавання і бібліятэкі сокетаў выбралі.

Тыпы Раз'ём інтэрфейсу

Кантавыя інтэрфейсы можна падзяліць на тры катэгорыі:

  • Струменевыя сокеты, найбольш распаўсюджаны тып, патрабуе, каб дзве сазлучаныя боку спачатку ўсталяваць падключэнне да сокета, пасля чаго ўсе дадзеныя , якія перадаюцца праз гэта злучэнне будзе гарантавана прыбыць у тым жа парадку , у якім ён быў пасланы - так званае злучэнне-арыентаванае праграмаванне мадэль.
  • Datagram разетка прапаноўвае «злучэнне менш» семантыка. З дейтаграмм, злучэнне невідавочнае, а не відавочна, як з патокамі. Кожны з бакоў проста пасылае датаграммы па меры неабходнасці і чакае іншага, каб адказаць; Паведамленні могуць быць страчаныя пры перадачы або атрымана з ладу, але гэта адказнасць прыкладання, а не сокеты, каб мець справу з гэтымі праблемамі. Рэалізацыя датаграмм сокетаў можа даць некаторым прыкладанням прырост прадукцыйнасці і дадатковую гнуткасць у параўнанні з выкарыстаннем струменевых сокетаў, апраўдваючы іх выкарыстанне ў некаторых сітуацыях.
  • Трэці тып сокета - сыравінная разетка - абміне убудаваную падтрымку бібліятэкі стандартных пратаколаў , такіх як TCP і UDP . Сырыя сокеты выкарыстоўваюцца для распрацоўкі пратаколу нізкага ўзроўню карыстацкай.

Аправа Падтрымка ў сеткавых пратаколах

Сучасныя сеткавыя разеткі, як правіла, выкарыстоўваюцца ў спалучэнні з інтэрнэт-пратаколаў - IP, TCP і UDP. Бібліятэкі, якія рэалізуюць сокетаў для інтэрнэт-пратаколу TCP выкарыстоўваюць для патокаў, UDP для дейтаграмм, і IP сябе для сокетаў.

Для таго, каб мець зносіны праз Інтэрнэт, бібліятэкі IP сокета выкарыстоўваць IP - адрас для ідэнтыфікацыі канкрэтных кампутараў. Многія часткі інтэрнэт - працы з службаў імёнаў, так што карыстальнікі і цокальныя праграмісты могуць працаваць з кампутарамі па імі (напрыклад, «thiscomputer.wireless.about.com») , а не па адрасе (напрыклад, 208.185.127.40). Струмень і датаграммы разеткі таксама выкарыстоўваць IP - нумары партоў адрозніваць некалькі прыкладанняў адзін ад аднаго. Напрыклад, вэб-браўзэры ў Інтэрнэце ведаць, каб выкарыстоўваць порт 80 у якасці значэння па змаўчанні для сокетаў сувязі з вэб-серверамі.