Skip to main content

Socket Programmering til Computer Networking - Oversigt

Oversigt over anlægsaktiver (Kan 2025)

Oversigt over anlægsaktiver (Kan 2025)
Anonim

En stikkontakt er en af ​​de mest grundlæggende teknologier til computernetværk programmering. Sockets tillader netværkssoftwareprogrammer at kommunikere ved hjælp af standardmekanismer indbygget i netværkshardware og operativsystemer.

Selvom det måske lyder som en anden funktion i udviklingen af ​​internet software, eksisterede socket teknologi langt før web. Og mange af nutidens mest populære netværkssoftware er afhængige af stikkontakter.

Hvilke stikkontakter kan gøre for dit netværk

En stikkontakt repræsenterer en enkelt forbindelse mellem præcis to softwarestykker (en såkaldt punkt til punkt forbindelse). Mere end to stykker software kan kommunikere med klient / server eller distribuerede systemer ved at bruge flere stik. For eksempel kan mange webbrowsere kommunikere samtidigt med en enkelt webserver via en gruppe af stik, der er lavet på serveren.

Sokkelbaseret software kører normalt på to separate computere på netværket, men stikkontakter kan også bruges til at kommunikere lokalt ( InterProcess ) på en enkelt computer. Sockets er tovejs , hvilket betyder at hver side af forbindelsen er i stand til både at sende og modtage data. Sommetider er den ene applikation, der initierer kommunikation, betegnet "klienten" og den anden applikation "serveren", men denne terminologi fører til forvirring i peer to peer-netværk og bør generelt undgås.

Socket API'er og biblioteker

Adskillige biblioteker, der implementerer standard applikationsprogrammeringsinterfaces (API'er) findes på internettet. Den første mainstream-pakke - Berkeley Socket Library er stadig meget udbredt på UNIX-systemer. En anden meget almindelig API er Windows Sockets (WinSock) biblioteket til Microsoft operativsystemer. I forhold til andre computerteknologier er socket-API'er ret modne: WinSock har været i brug siden 1993 og Berkeley sockets siden 1982.

Socket API'erne er relativt små og enkle. Mange af funktionerne ligner dem, der anvendes i filindgang / udgangsrutiner som f.eks Læs(), skrive(), og tæt(). Den egentlige funktion, der ringer til brug, afhænger af det valgte programmeringssprog og sokkelbibliotek.

Socket Interface Typer

Socketinterfaces kan opdeles i tre kategorier:

  • Strøm stikkontakter, den mest almindelige type, kræver, at de to kommunikationspartnere først etablerer en stikkontakt, hvorefter data, der sendes gennem denne forbindelse, vil blive garanteret at komme i samme rækkefølge som den blev sendt til - såkaldt forbindelsesorienteret programmeringsmodel .
  • datagram sockets tilbyder "connection-less" semantik. Med datagrammer er forbindelser implicitte snarere end eksplicitte som med strømme. Enhver part sender simpelthen datagrammer efter behov og venter på den anden til at svare; Beskeder kan gå tabt i transmission eller modtaget uden for rækkefølge, men det er applikationens ansvar og ikke stikkene til at håndtere disse problemer. Implementering af datagram sockets kan give nogle applikationer et ydeevne boost og ekstra fleksibilitet i forhold til at bruge strømstikket, hvilket begrunder deres brug i nogle situationer.
  • Den tredje type stikkontakt - den rå socket - omgå bibliotekets indbyggede support til standardprotokoller som TCP og UDP. Råbøsninger bruges til brugerdefineret lavniveau protokoludvikling.

Stik til stikkontakter i netværksprotokoller

Moderne netværksstik anvendes typisk i forbindelse med internetprotokollerne - IP, TCP og UDP. Biblioteker, der implementerer stikkontakter til Internet Protocol, bruger TCP for streams, UDP for datagrammer og IP selv for røde stik.

For at kommunikere via internettet bruger IP-sokkelbiblioteker IP-adressen til at identificere bestemte computere. Mange dele af internettet arbejder med navngivningstjenester, så brugerne og sokkelprogrammører kan arbejde med computere ved navn ( f.eks. , "thiscomputer.wireless.about.com") i stedet for ved adresse ( f.eks. , 208.185.127.40). Stream- og datagram-stikkontakter bruger også IP-portnumre til at skelne flere applikationer fra hinanden. For eksempel kan webbrowsere på internettet vide at bruge port 80 som standard for sokkelkommunikation med webservere.