TCP / IP компьютерлік желілері үшін Socket бағдарламалау бойынша қысқаша нұсқаулық

Socket бағдарламалауы сервер мен клиенттік компьютерлерді қосады

Розеткаларды бағдарламалау - бұл TCP / IP желілеріндегі коммуникацияның іргелі технологиясы. Розетка желіде жұмыс істейтін екі бағдарламаның екі жақты байланысының бір соңғы нүктесі болып табылады. Розетка басқа сокетпен деректерді жіберу және алу үшін екі жақты байланыстың соңғы нүктесін ұсынады. Сокет қосылымдары әдетте жергілікті желіде ( LAN ) немесе Интернеттегі екі түрлі компьютерлер арасында жұмыс істейді, бірақ олар бір компьютерде өзара әрекеттесу үшін пайдаланылуы мүмкін.

Сокеттер және мекен-жайлар

TCP / IP желілеріндегі ұяшықтың соңғы нүктелері IP мекенжайын және TCP / IP порт нөмірін біріктіретін бірегей мекенжайға ие. Розетка белгілі бір порт нөміріне байланысты болғандықтан, TCP қабаты оған жіберілген деректерді алатын бағдарламаны анықтай алады. Жаңа ұяшық жасаған кезде, сокет кітапханасы автоматты түрде сол құрылғыда бірегей порт нөмірін жасайды. Бағдарламалаушы белгілі бір жағдайларда порт нөмірін де көрсете алады.

Сервердің жұмысын қалай соқтырады?

Әдетте, сервер бір компьютерде жұмыс істейді және белгілі бір портқа байланысы бар ұяшыққа ие. Сервер қосылым сұрауын жасау үшін басқа компьютерді күтуде. Клиент компьютері сервер компьютерінің хост атауын және сервер тыңдап отырған порт нөмірін біледі. Клиент компьютері өзін анықтайды, және егер барлығы дұрыс болса, сервер клиенттік компьютерге қосылуға рұқсат береді.

Сокет кітапханалары

Тікелей төмен деңгейлі сокет API интерфейстеріне емес, желілік бағдарламашылар әдетте сокет кітапханаларын пайдаланады. Екі әдетте пайдаланылатын сокет кітапханасы Linux / Unix жүйелері үшін Berkeley Sockets және Windows жүйелеріне арналған WinSock .

Сокет кітапханасы open (), read (), write () және close () сияқты файлдармен жұмыс істеу үшін сол бағдарламашылар сияқты ұқсас API функцияларын ұсынады.