Socket (engelsk ord som betyr å lage ) er et begrep datamaskin kan ha flere betydninger etter at det er brukt under programvare eller maskinvare .
I programvaresammenheng kan den oversettes som “nettverkskontakt” eller “tilkoblingsgrensesnitt”.
Først dukket opp i UNIX- systemer , en socket er et stykke programvare som nå er utbredt i de fleste driftssystemer . Det er et programvaregrensesnitt med tjenestene til operativsystemet , takket være at en utvikler enkelt og jevnt vil utnytte tjenestene til en nettverksprotokoll.
For eksempel vil det være enkelt å etablere en TCP- økt , og deretter motta og sende data ved hjelp av den. Dette forenkler oppgaven fordi dette programvarelaget, som det krever tjenester fra, ved å ringe funksjoner, skjuler det nødvendige arbeidet med nettverksadministrasjon, utført av systemet. Begrepet socket betegner i praksis hver variabel som brukes i et program for å administrere en av øktene.
Begrepet stikkontakt ble introdusert i Berkeley-distribusjonene (et kjent UNIX- lignende system , hvorav mange nåværende distribusjoner bruker kodestykker). Dette er grunnen til at vi noen ganger snakker om BSD- stikkontakter ( Berkeley Software Distribution ).
Dette er en modell som tillater interprosesskommunikasjon (IPC - Inter Process Communication ) for å tillate at ulike prosesser kan kommunisere både på samme maskin og gjennom et TCP / IP- nettverk .
Socket- kommunikasjon sammenlignes ofte med menneskelig kommunikasjon. Det er altså to kommunikasjonsmåter:
De kontaktene er implementert på ulike språk (C, Java, ...). På C-språk bruker de funksjoner og strukturer som er tilgjengelige i biblioteket <sys/socket.h>.
De sokler er plassert mellom nettverkslaget (inkludert) og søknads lag i OSI-modellen ( UDP eller TCP-protokoller bruker IP / ARP ).