Sockets programmering er den grundlæggende teknologi bag kommunikation på TCP / IP-netværk. En stikkontakt er ét endepunkt for en tovejsforbindelse mellem to programmer, der kører på et netværk. Stikket giver et tovejskommunikations endepunkt til afsendelse og modtagelse af data med en anden stikkontakt. Socketforbindelser kører normalt mellem to forskellige computere på et lokalnetværk (LAN) eller på internettet, men de kan også bruges til interprocess kommunikation på en enkelt computer.
Stikkontakter og adresser
Socket-endepunkter på TCP / IP-netværk har hver en unik adresse, der er kombinationen af en IP-adresse og et TCP / IP-portnummer. Da stikket er bundet til et bestemt portnummer, kan TCP-laget identificere det program, der skal modtage dataene, der sendes til det. Når du opretter en ny stikkontakt, genererer stikkontakten automatisk et unikt portnummer på den pågældende enhed. Programmeringen kan også angive portnumre i bestemte situationer.
Sådan fungerer serverstikkene
En server kører typisk på en computer og har en stikkontakt, der er bundet til en bestemt port. Serveren venter på en anden computer for at foretage en forbindelsesanmodning. Klientcomputeren kender værtsnavnet på servercomputeren og portnummeret, som serveren lytter til. Klientcomputeren identificerer sig selv, og hvis alt går rigtigt, tillader serveren klientcomputeren at oprette forbindelse.
Socket biblioteker
I stedet for at kode direkte til low-level socket API'er, bruger netværksprogrammerere typisk socket-biblioteker. To almindeligt anvendte sok biblioteker er Berkeley Sockets til Linux / Unix systemer og WinSock til Windows systemer.
Et sokkelbibliotek indeholder et sæt API-funktioner, der ligner de programmerere, der bruger til at arbejde med filer, som f.eks. Åbne (), læse (), skrive () og lukke ().