Un scurt ghid pentru programarea socketurilor pentru rețelele de calcul TCP / IP

Programarea socketurilor conectează computerele server și client

Programarea socketurilor este tehnologia fundamentală din spatele comunicațiilor pe rețelele TCP / IP . Un socket este un punct final al unei legături bidirecționale între două programe care rulează pe o rețea. Soclul furnizează un punct final de comunicare bidirecțional pentru trimiterea și primirea datelor cu un alt soclu. Conexiunile la prize rulează în mod normal între două computere diferite dintr-o rețea locală ( LAN ) sau de pe internet, dar pot fi utilizate și pentru comunicarea interprocesă pe un singur computer.

Sockets and Addresses

Obiectivele Socket pe rețelele TCP / IP au fiecare o adresă unică care este combinația dintre o adresă IP și un număr de port TCP / IP. Deoarece soclul este legat de un anumit număr de port, stratul TCP poate identifica aplicația care ar trebui să primească datele trimise către acesta. Când creați un nou soclu, biblioteca socket generează automat un număr de port unic pe acel dispozitiv. De asemenea, programatorul poate specifica numerele porturilor în situații specifice.

Cum functioneaza Socket-urile de Server

De obicei, un server rulează pe un singur computer și are un soclu care este legat la un anumit port. Serverul așteaptă ca alt computer să facă o solicitare de conectare. Computerul client cunoaște numele gazdei calculatorului server și numărul portului pe care asculta serverul. Calculatorul client se identifică și, dacă totul merge bine, serverul permite computerului client să se conecteze.

Socket Biblioteci

Mai degrabă decât să codificați direct API-urile pentru socket-uri de nivel scăzut, programatorii de rețea folosesc de obicei biblioteci de socket-uri. Două biblioteci socket utilizate în mod obișnuit sunt Berkeley Sockets pentru sistemele Linux / Unix și sistemele WinSock pentru Windows.

O bibliotecă socket oferă un set de funcții API similare cu cele utilizate de programatori pentru a lucra cu fișiere, cum ar fi open (), read (), write () și close ().