Соцкет је једна од основних технологија програмирања рачунарске мреже. Соцкетс омогућавају мрежним софтверским апликацијама да комуницирају користећи стандардне механизме уграђене у мрежни хардвер и оперативне системе.
Иако би то могло звучати као још једна од карактеристика развоја софтвера за Интернет, технологија сокета постојала је дуго прије Веба. И многи од данас најпопуларнијих мрежних софтверских апликација се ослањају на утичнице.
Која Сокета могу да учине за вашу мрежу
Утичница представља једну везу између тачно два дела софтвера (тзв. Тачка-тачка веза). Више од два комада софтвера може комуницирати са клијент / сервером или дистрибуираним системима користећи више сокета. На пример, многи Веб прегледачи могу истовремено комуницирати са једним Веб сервером преко групе сокета на серверу.
Софтвер заснован на Соцкет обично ради на два одвојена рачунара на мрежи, али и утичнице се такође могу користити за комуникацију на локалном нивоу ( интерпроцесс ) на једном рачунару. Сокети су двосмерни , што значи да је свака страна везе способна и за слање и пријем података. Понекад једна апликација која иницира комуникацију назива се "клијентом", а друга апликацијом "сервер", али ова терминологија доводи до конфузије у односу на пеер-пеер мрежу и углавном се треба избегавати.
Соцкет АПИ-ови и библиотеке
Неколико библиотека које имплементирају стандардне програмерске интерфејсе (АПИ) постоје на Интернету. Први маинстреам пакет - Беркелеи Соцкет Либрари се још увек користи у УНИКС системима. Још један врло чест АПИ је библиотека Виндовс Соцкетс (ВинСоцк) за Мицрософт оперативне системе. У односу на друге компјутерске технологије, АПИ-ови сокета су сасвим зрели: ВинСоцк се користи од 1993. године и Беркелеи сокета од 1982. године.
АПИ сокета су релативно мали и једноставни. Многе од функција су сличне онима које се користе у датотекама улазних / излазних рутина попут <тт> реад () тт>, <тт> врите () тт> и <тт> цлосе () тт> . Конкретне функције позива за коришћење зависе од изабраног језика програмског језика и библиотеке сокета.
Типови интерфејса соцкет-а
Сокетни интерфејси се могу поделити у три категорије:
- Стреам сокетови, најчешћи типови, захтевају да две странке која комуницирају прво успостављају сокет везу, након чега ће сви подаци пренети преко те везе бити гарантовани да стигну у истом редоследу у којем је послат - тзв. Програмско оријентисано програмирање модел.
- Датаграм утичнице нуде "семантику без везе". Са датаграмовима, везе су имплицитне, а не експицитне као и са токовима. Једна страна једноставно шаље датаграмове по потреби и чека другу да одговори; поруке се могу изгубити у преносу или су примљене ван реда, али је одговорност апликације, а не сокет за решавање ових проблема. Спровођење датаграм сокета може дати неким апликацијама повећање перформанси и додатну флексибилност у поређењу са коришћењем струјних прикључака, оправдавајући њихову употребу у неким ситуацијама.
- Трећи тип утичнице - рав соцкет - заобилази уграђену подршку библиотеке за стандардне протоколе као што су ТЦП и УДП . Рав соцкетс се користе за прилагођени развој протокола на ниском нивоу.
Подршка за Соцкет у мрежним протоколима
Савремене мрежне утичнице се обично користе у комбинацији са Интернет протоколима - ИП, ТЦП и УДП. Библиотеке које имплементирају утичнице за Интернет протокол користе ТЦП за токове, УДП за датаграме и саму ИП за сирове сокете.
За комуникацију преко Интернета, ИП соцкет библиотеке користе ИП адресу за идентификацију одређених рачунара. Многи делови Интернета раде с именовањем, тако да корисници и сокет програмери могу радити са рачунарима по имену ( нпр . "Тхисцомпутер.вирелесс.абоут.цом") умјесто по адреси ( нпр . 208.185.127.40). Стреам и датаграм утичнице такође користе бројеве ИП портова како би разликовали више апликација један од другог. На пример, Веб прегледници на Интернету знају да користе порт 80 као подразумевану за сокне везе са Веб серверима.