'N Kort oorsig van die socketprogrammering vir TCP / IP-rekenaarnetwerke

Socket programmering verbind bediener en kliënt rekenaars

Sockets programmering is die fundamentele tegnologie agter kommunikasie op TCP / IP- netwerke. 'N Sok is een eindpunt van 'n tweerigtingverbinding tussen twee programme wat op 'n netwerk uitgevoer word. Die sok bied 'n tweerigting-kommunikasie eindpunt vir die stuur en ontvang van data met 'n ander sok. Socket verbindings loop normaalweg tussen twee verskillende rekenaars op 'n plaaslike area netwerk ( LAN ) of oor die internet, maar hulle kan ook gebruik word vir interprocess kommunikasie op 'n enkele rekenaar.

Sockets en adresse

Socket eindpunte op TCP / IP-netwerke het elk 'n unieke adres wat die kombinasie van 'n IP-adres en 'n TCP / IP- poortnommer is . Omdat die socket aan 'n spesifieke poortnommer gekoppel is, kan die TCP-laag die toepassing identifiseer wat die data wat daarheen gestuur word, moet ontvang. Wanneer 'n nuwe sok geskep word, genereer die sok biblioteek outomaties 'n unieke poortnommer op daardie toestel. Die programmeerder kan ook poortnommers spesifiseer in spesifieke situasies.

Hoe bediener sokkies werk

Tipies loop 'n bediener op een rekenaar en het 'n sok wat aan 'n spesifieke poort gebind is. Die bediener wag vir 'n ander rekenaar om 'n verbindingsversoek te maak. Die kliënt rekenaar ken die host naam van die bediener rekenaar en die poort nommer waarop die bediener luister. Die kliënt rekenaar identifiseer homself, en as alles reg gaan, kan die bediener die klientrekenaar koppel.

Socket Biblioteke

Eerder as om direk na lae-vlak-socket-API's te kodeer, gebruik netwerkprogrammeerders gewoonlik sokbiblioteke. Twee algemeen gebruikte sok biblioteke is Berkeley Sockets vir Linux / Unix stelsels en WinSock vir Windows-stelsels.

'N socket biblioteek bied 'n stel API funksies soortgelyk aan die programmeerders gebruik vir die werk met lêers, soos oop (), lees (), skryf (), en sluit ().