Eng Iwwersiicht vu Socket Programméiere fir Computer Networking

A Socket ass eng vun den wichtegsten Technologien vun Computernetzprogramméierung. Sockets erlaben Netzwierkapplikatioune fir mat Standardmechanismus ze kommunizéieren, déi an d'Netzwierk-Hardware a Betribsysteme gebaut ginn.

Obwuel et kléngt wéi eng aner Feature vun Internet Software-Entwécklung, d'Socket-Technologie existéiert laang virum Web. A ville vun de populäersten Netzwierkapplikatioune sinn haut op Sockets.

Wat Sockets fir Äre Netz maachen kann

Eng Socket ass eng eenzeg Verbindung tëschent genau zwou Stéck Software (eng sog. Point-to-Point Connection). Méi wéi zwee Stéck Software kënne kommunizéiere mat Client / Server oder verteidegt Systemer mat verschiddene Sockets. Zum Beispill kënnen vill Websäiten simultan mat engem eenzegen Webserver iwwer eng Grupp vun Sockets, déi op de Server gemaach gi sinn, kommunizéieren.

Socket-baséiert Software funktionéiert normalerweis op zwou getrennte Computeren am Netz, mä d'Sockets kënnen och benotzt ginn, lokal lokal ( interprocess ) op engem eenzegen Computer kommunizéieren. Sockets sinn bidirektional , dat heescht datt eng Säit vun der Verbindung fähig ass ze schécken an Daten ze kréien. Heiansdo ass eng Applikatioun déi d'Kommunikatioun initiéiert, gëtt als "Client" bezeechent an déi aner Applikatioun de "Server", awer dës Terminologie féiert zu der Peer fir Peer Networking ze verweigeren an allgemeng ze vermeiden.

Socket APIs a Bibliotheken

Verschidde Bibliothéiken déi normale Applikatiounsprogrammschnittlech (APIs) realiséieren, existéieren am Internet. Déi éischt Mainstream Package - d'Berkeley Socket Library ass ëmmer nach vill ze benotzen op UNIX Systemen. Eng aner ganz allgemeng API ass d'Windows Sockets (WinSock) Bibliothéik fir Microsoft Operative Systemer. Am Géigendeel zu anere Computertechnologien, socket APIs sinn zimlech reift: WinSock ass zanter 1993 a benotzt a Berkeley-Sockets zënter 1982.

D'Socket APIs sinn relativ kleng a einfach. Vill vun de Funktiounen sinn ähnlech wéi déi an Dateie- / Ausgabprogrammer wéi liesen () , schreiwen () , a close () . Déi tatsächlech Funktioun ruffen ugewisen hänkt vun der gewielter Programmiersprache an der Socket-Bibliothéik.

Socket Interface Typen

Socket- Interfaces kënnen an dräi Kategorien ënnerdeelt ginn:

  • Streamsocken, déi am meeschten üblech sinn, erfuerderlech datt déi zwee kommunikativ Parteien als éischt eng Socketverbindung erstallt hunn, wouduerch all Daten déi duerch dës Verbindung verfollegt ginn, garantéiert ginn an déi selwecht Reiefolg anzeginn, wou et geschriwwe war - sogenannt Verbindung-orientéierter Programmatioun Modell.
  • Datagram Sockets bitt "Connexioun-manner" Semantik. Mat Datagramm sinn d'Verbindungen implizit éischter als explizit wéi mat Stroum. Either Party schéckt einfach Datagramm wéi néideg an waart op den anere fir z'äntwerten; D'Botschaften kënnen verluer an d'Transmissioun verluer ginn oder awer net opgefuerdert sinn, awer et ass d'Verantwortung vun der Uwendung, an net d'Sockets fir dës Problemer ze bewäerten. Ëmsetzung vun Datagramm Sockets kënnen e puer Applikatiounen hunn eng Performance Boost an zousätzlech Flexibilitéit ze verzeechnen am Verglach mat Stroumdoketten, ze justifizéieren hir Gebrauch an e puer Situatiounen.
  • Déi drëtt Typ vun Socket - de roude Socket - ëmfaasst d'Integriert Ënnerstëtzung vun der Bibliothéik fir Standardprotokollen wéi TCP an UDP . Raw-Sockets ginn fir Clientniveau a Low-Level Protokollentwicklung benotzt.

Socket-Support zu Netz Protokollen

Modern Netzwierkstexter ginn normalerweis a Verbindung mat den Internetprotokollen - IP, TCP a UDP benotzt. Bibliotheken, déi Sockets fir Internet Protokoll implementéieren benotzt TCP fir Streamen, UDP fir Datagramen an IP selwer fir rosar Ënnersich.

Fir ze kommunizéieren iwwer den Internet, IP-Socket-Bibliothéiken benotzen d' IP Adress fir spezifësch Computeren z'identifizéieren. Vill Deeler vun der Internet schaffen mat Namensdéngscht, sou datt d'Benotzer an d'Socket Programméierer mat Computern mam Numm ( z. B. "thiscomputer.wireless.about.com") anstatt an Adresse ( z. B. 208.185.127.40) arbeiten. Stream- an Datagramsockel benotzen IP Portnummeren fir verschidde Applikatiounen vuneneen z'ënnerscheeden. Zum Beispill wësse Webbrowser am Internet datt de Port 80 als Default fir socket Kommunikatiounen mat Webserver benotzt gëtt.