Īsa rokasgrāmata par socket programmēšanu TCP / IP datortīkliem

Socket programming apvieno serveru un klientu datorus

Savienojumu plānošana ir galvenā tehnoloģija, kas nodrošina saziņu TCP / IP tīklos. Savienojums ir viens no divvirzienu saites starp divām programmām, kas darbojas tīklā. Savienojums nodrošina divvirzienu sakaru galapunktu datu nosūtīšanai un saņemšanai ar citu ligzdu. Spraudkontaktu savienojumi parasti tiek darbināti starp diviem dažādiem datoriem lokālajā tīklā ( LAN ) vai internetā, taču tos var arī izmantot, lai savstarpēji apstrādātu komunikāciju vienā datorā.

Kontaktligzdas un adreses

Socket endpoints uz TCP / IP tīkliem katram ir unikāla adrese, kas ir IP adreses un TCP / IP porta numura kombinācija. Tā kā ligzda ir saistīta ar konkrētu porta numuru, TCP slānis var identificēt lietojumprogrammu, kurai jāsaņem tai nosūtītie dati. Veidojot jaunu kontaktligzdu, ligzdu bibliotēka automātiski ģenerē unikālu porta numuru šajā ierīcē. Programētājs var arī norādīt ostas numurus konkrētās situācijās.

Kā darbojas serveru ligzdas

Parasti serveris darbojas vienā datorā un tam ir kontaktligzda, kurai ir piesaistīts kāds konkrēts ports. Serveris gaida citu datoru, lai izveidotu savienojuma pieprasījumu. Klienta dators zina servera datora saimniekdatora nosaukumu un porta numuru, uz kuru serveris klausās. Klienta dators identificē sevi un, ja viss notiek pareizi, serveris ļauj klientam pieslēgt datoru.

Ligzdu bibliotēkas

Tā vietā, lai tieši pieslēgtu zemā līmeņa socket API, tīkla programmētāji parasti izmanto pieslēgvietu bibliotēkas. Divas bieži izmantojamās ligzdu bibliotēkas ir Berkeley ligzdas Linux / Unix sistēmām un WinSock Windows sistēmām.

Socket library nodrošina virkni API funkciju, kas ir līdzīga tiem programmētājiem, ko izmanto, lai strādātu ar failiem, piemēram, open (), read (), write () un close ().