Skip to main content

Socket programmering för datanätverk

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)
Anonim

Sockets programmering är den grundläggande tekniken bakom kommunikation på TCP / IP-nätverk. Ett uttag är ett slutpunkt för en tvåvägslänk mellan två program som körs på ett nätverk. Uttaget ger en dubbelriktad kommunikationsändpunkt för att skicka och ta emot data med ett annat uttag. Socketanslutningar går normalt mellan två olika datorer på ett lokalt nätverk (LAN) eller över internet, men de kan också användas för interprocesskommunikation på en enda dator.

Sockets 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 uttaget är kopplat till ett visst portnummer kan TCP-lagret identifiera programmet som ska ta emot data som skickas till den. När du skapar ett nytt uttag, genererar socketbiblioteket automatiskt ett unikt portnummer på den enheten. Programmeraren kan också ange portnummer i specifika situationer.

Hur servern fungerar

En server körs vanligtvis på en dator och har ett uttag som är bunden till en viss port. Servern väntar på en annan dator för att göra en anslutningsförfrågan. Klientdatorn känner till värddatorns servernamn och portnumret som servern lyssnar på. Klientdatorn identifierar sig själv, och om allt går rätt-servern tillåter klientdatorn att ansluta.

Sockelbibliotek

I stället för att koda direkt till API-lägen med låg nivå, använder nätverksprogrammerare vanligtvis sockelbibliotek. Två vanliga sockelbibliotek är Berkeley Sockets för Linux / Unix-system och WinSock för Windows-system.

Ett sockelbibliotek tillhandahåller en uppsättning API-funktioner som liknar de programmerare som använder för att arbeta med filer, till exempel öppna (), läsa (), skriva () och stänga ().