Socket -programmering är den grundläggande tekniken bakom kommunikation på TCP/IP -nätverk. Ett uttag är en slutpunkt för en tvåvägslänk mellan två program som körs i ett nätverk. Sockeln tillhandahåller en dubbelriktad kommunikation slutpunkt för att skicka och ta emot data med ett annat uttag. Socket -anslutningar körs normalt mellan två olika datorer i ett lokalt nätverk (LAN) eller över internet, men de kan också användas för kommunikation mellan processer på en enda dator.
Uttag och adresser
Socket -slutpunkter på TCP/IP -nätverk har alla en unik adress som är kombinationen av en IP -adress och ett TCP/IP -portnummer. Eftersom sockeln är bunden till ett specifikt portnummer kan TCP -lagret identifiera applikationen som ska ta emot data som skickas till den. När du skapar ett nytt uttag genererar uttagsbiblioteket automatiskt ett unikt portnummer på den enheten. Programmeraren kan också ange portnummer i specifika situationer.
Hur Server Sockets fungerar
Vanligtvis körs en server på en dator och får tillgång till ett uttag som är bunden till en specifik port. Servern väntar på att en annan dator ska göra en anslutningsbegäran. Klientdatorn känner till serverns dators värdnamn och portnumret som servern lyssnar på. Klientdatorn identifierar sig och – om allt går rätt – tillåter servern klientdatorn att ansluta.
Socket -bibliotek
I stället för att koda direkt till lågnivå -socket -API: er använder nätverksprogrammerare vanligtvis socketbibliotek. Två vanliga socketbibliotek är Berkeley Sockets för Linux/Unix -system och WinSock för Windows -system. Ett socketbibliotek tillhandahåller en uppsättning API -funktioner som liknar de programmerare använder för att arbeta med filer, t.ex. öppen(), läsa(), skriva(), och stänga().