Sockets programmering er den grunnleggende teknologien bak kommunikasjon på TCP / IP-nettverk. En stikkontakt er ett endepunkt for en toveis-kobling mellom to programmer som kjører på et nettverk. Stikkontakten gir et toveis kommunikasjonsendepunkt for sending og mottak av data med en annen kontakt. Stikkforbindelser kjøres vanligvis mellom to forskjellige datamaskiner på et lokalnettverk (LAN) eller over Internett, men de kan også brukes til interprosesskommunikasjon på en enkelt datamaskin.
Stikkontakter og adresser
Socket endepunkter på TCP / IP-nettverk har hver en unik adresse som er kombinasjonen av en IP-adresse og et TCP / IP-portnummer. Fordi kontakten er bundet til et bestemt portnummer, kan TCP-laget identifisere programmet som skal motta dataene som sendes til den. Når du lager en ny kontakt, genererer stikkbiblioteket automatisk et unikt portnummer på den enheten. Programmereren kan også angi portnumre i bestemte situasjoner.
Hvordan serveresokker jobber
En server kjører vanligvis på en datamaskin og har en stikkontakt som er bundet til en bestemt port. Serveren venter på en annen datamaskin for å foreta en tilkoblingsforespørsel. Klientcomputeren kjenner vertsnavnet til serverdatamaskinen og portnummeret som serveren lytter på. Klientmaskinen identifiserer seg selv, og hvis alt går rett, tillater serveren klientdatamaskinen å koble seg til.
Socket biblioteker
I stedet for å koble direkte til API-er med lavt nivå, bruker nettverksprogrammerere vanligvis socketbiblioteker. To vanlig brukte sokkelbiblioteker er Berkeley Sockets for Linux / Unix-systemer og WinSock for Windows-systemer.
Et sokkelbibliotek gir et sett med API-funksjoner som ligner på programmene som brukes til å jobbe med filer, for eksempel åpne (), lese (), skrive () og lukke ().