In oersjoch fan socketprogramming foar komputer netwurking

In socket is ien fan 'e folsleine technologyen fan kompjûter netwurkprogramming. Socken kinne netwurk software applikaasjes brûke om gebrûk fan standertmeganismen ynboud yn netwurk-hardware en bestjoeringssystemen.

Hoewol it liket krekt as in oare funksje fan Ynternet-softwareûntwikkeling klinkt, hat de sockettechnology lange tiid foar it Web bestie. En, in protte fan hjoeddeistich populêre netwurk-softwareapplikaasjes falle op sockets.

Hokker sockets kinne jo foar jo netwurk dwaan

In socket fertsjintwurdiget in ienige ferbining tusken krekt twa stikken software (in saneamde point-to-point connection). Mear as twa stikken software kinne kommunisearje mei client / server of distribúsjete systemen troch meardere socken te brûken. Bygelyks, in protte webbrowsers kinne tagelyk kommunisearje mei in inkele webserver fia in groep fan sockets op 'e tsjinner.

Socket-basearre software rint normaal op twa separate komputer yn it netwurk, mar sockets kinne ek brûkt wurde om lokale kommunikaasje ( ynterprosessen ) op in inkele kompjûter te kommunisearjen. Socken binne bidirectional , dat betsjuttet dat eltse side fan 'e ferbining is foarkomt om sawol ferstjoeren en ûntfangen fan gegevens. Somtiden is de ien applikaasje dy't kommunikaasje ynliedt wurdt de "kliïnt" neamd en de oare applikaasje is de "server", mar dizze terminology liedt ta mislediging yn peer om it netwurk te peer te meitsjen en moatte normaal wurde besocht.

Socket APIs en biblioteken

Ferskillende biblioteken dy't normale applikaasjeprogramma's ynterfieren (APIs) besteane, binne op ynternet. It earste mainstreampakket - de Berkeley Socketbibliotheek is noch hieltyd yn gebrûk op UNIX-systeem. In oar hiel gewoan API is de Windows Sockets (WinSock) biblioteek foar Microsoft bestjoeringssysteem. Relatyf foar oare kompjûtertechnology, socket APIs binne frij reid: WinSock is sûnt 1993 brûkt en Berkeley sockets sûnt 1982.

De socket-APIs binne relatyf lyts en ienfâldich. In soad fan 'e funksjes binne fergelykber mei dyjingen dy't brûkt wurde yn triemynfier- / útfierroutinen lykas read () , skriuwen () , en close () . De wurklike funksje ropt it gebrûk ôfhinklik fan 'e taalprogramma en socket biblioteek dy't keazen wurdt.

Socket-ynterfacestilen

Socket-ynterfaces kinne yndield wurde yn trije kategoryen:

  • Streamsocketten, it meast foarkommende type, fereaskje dat de beide kommunikaasjende partijen earst in socket ferbining meitsje, wêrnei't alle gegevens fia dizze ferbining trochgean soene wurde garandearre yn 't deselde oarder wêr't it stjoerd is - saneamde ferbining-oriïntearre programmearring model.
  • Datagram sockets biede "ferbining-minder" semantika. Mei datagramm binne ferbiningen ympleminteare as eksplisyt as by streamen. Eltse party stjoert gewoan datagramen as nedich en wachtet foar de oare te reagearjen; Berjochten kinne fergees ferlern gean of opfrege wurde ûntfongen, mar it is de ferantwurding fan 'e applikaasje en net de sockets om te gean mei dizze problemen. De yntegraasje fan datagram sockets kin inkele tapassingen jaan oan in prestaasjebelesting en ekstra fleksibiliteit yn ferliking mei brûkende streamsocken, it justifisearjen fan har gebrûk yn guon situaasjes.
  • De tredde type socket - de rôze socket - omfettet de ynboude stipe fan 'e bibleteek foar standert protokollen lykas TCP en UDP . Raw-sockets wurde brûkt foar oanpaste ûntwikkeling fan lege nivo's.

Socket Stipe yn Netwurkprotokollen

Moderne netwurkstokken wurde typysk brûkt yn gearhing mei ynternetprotokollen - IP, TCP, en UDP. Biblioteken dy't praktyske ynstellingen foar ynternetprotokol brûke TCP foar streamen, UDP foar datagrammen, en IP sels foar roazjetten.

Om kommunikaasje oer it ynternet te brûken, brûke IP-socket-biblioteken it IP-adres brûke om spesifike kompjûters te identifisearjen. In soad dielen fan 'e ynternet wurkje mei nammen tsjinsten, sadat de brûkers- en socketprogrammers mei kompjûters mei namme brûke kinne ( bgl . "Thiscomputer.wireless.about.com") ynstee fan adres ( bgl . 208.185.127.40). Stream en datagram sockets brûke ek IP- poarte-nûmers om meardere tapassingen fan elkoar te ûnderskieden. Bygelyks, web-browsers ynternet kinne witte haven 80 as standert foar socket-kommunikaasje mei web-tsjinners.