Kompüter Şəbəkəsi üçün Soket Proqramlaşdırma Baxışları

Soket kompüter şəbəkəsinin proqramlaşdırılmasının ən əsas texnologiyalarından biridir. Sockets şəbəkə proqramları şəbəkə hardware və əməliyyat sistemlərinə quraşdırılmış standart mexanizmlərdən istifadə etməklə ünsiyyət qurmağa imkan verir.

İnternet proqram inkişafının başqa bir xüsusiyyəti kimi səslənməsinə baxmayaraq, socket texnologiyası Vebdən çox əvvəl mövcud olmuşdur. Və bu günün ən populyar şəbəkə proqram tətbiqlərinin bir çoxu sockets əsaslanır.

Şəbəkə üçün nə Sockets edə bilər

Bir yuva tam olaraq iki ədəd proqram (bir nöqtə-to-point əlaqəsi) arasında bir əlaqəni təmsil edir. İki ədəddən çox proqram birdən çox yuva istifadə edərək, müştəri / server və ya paylanmış sistemlərlə ünsiyyət qura bilər. Məsələn, bir çox Veb brauzerləri eyni zamanda bir server üzərində qurulmuş bir qrup sockets vasitəsilə bir Web server ilə ünsiyyət qura bilər.

Soket bazlı proqram adətən şəbəkədə iki ayrı kompüterdə işləyir, ancaq sockets bir kompüterdə yerli ünsiyyət ( interprocess ) üçün istifadə edilə bilər. Sockets ikitərəflidir , buna görə də əlaqənin hər iki tərəfi məlumat göndərmək və qəbul edə bilər. Bəzən kommunikasiyanı başlatan bir tətbiq "müştəri" və digər tətbiq "server" adlanır, ancaq bu terminologiya peer şəbəkəsindəki qarışıqlığa gətirib çıxarır və ümumiyyətlə yoldan çəkilməlidir.

Soket Apı və Kitabxanalar

Standart tətbiq proqramı interfeyslərini (API) tətbiq edən bir neçə kitabxana İnternetdə var. İlk əsas paket - Berkeley Soket Kitabxanası hələ UNIX sistemlərində geniş istifadə olunur. Digər bir çox ümumi API Microsoft əməliyyat sistemi üçün Windows Sockets (WinSock) kitabxanasıdır. Digər kompüter texnologiyaları ilə əlaqəli socket API-ləri olduqca yetkindir: WinSock 1982-ci ildən bəri 1993-cü ildən Berkeley yuvalarında istifadə olunur.

Soket API'ları nisbətən kiçik və sadədir. Funksiyaların bir çoxu, oxu () , yazmaq () close () kimi fayl giriş / çıxış rutinlərində istifadə olunanlara bənzərdir. . Həqiqi funksiyanı istifadə etmək üçün çağırışlar proqramlaşdırma dilinə və seçilən yuva kitabxanasına bağlıdır.

Soket İnterfeysi növləri

Soket interfeysləri üç kateqoriyaya bölmək olar:

  • Ən cəlbedici tipli sətirlər, iki ünsiyyət quran tərəfin ilk növbədə bir socket bağlantısı qurmasını tələb edirlər ki, bundan sonra bu əlaqədən keçən hər hansı məlumat göndərildiyi yerə çatmaq üçün təmin olunacaq - əlaqəli-odur proqramlaşdırma model.
  • Datagram sockets "əlaqə-az" semantik təklif edir. Datagramlarla əlaqələr, axınlarla olduğu kimi açıq-aydın deyil. Hər tərəf yalnız datagramları lazım olduqda göndərir və digərinin cavab verməsini gözləyir; mesajlar ötürülməsində itkin ola bilər və ya sifarişdən kənarlaşdırıla bilər, amma bu problemlərin həlli üçün tətbiq olunan sockets deyil, tətbiqin məsuliyyəti. Datagram sockets tətbiqi bəzi hallarda bəzi istifadələri əsaslandırmaq, stream soket istifadə müqayisədə bir performans artırmaq və əlavə esneklik verə bilər.
  • Üçüncü tip socket - xammal socket - TCPUDP kimi standart protokollar üçün kitabxananın daxili dəstəyini atlayır. Raw sockets xüsusi aşağı səviyyəli protokol inkişafı üçün istifadə olunur.

Şəbəkə Protokollarında Soket Dəstəyi

Müasir şəbəkə sockets adətən İnternet protokolları - IP, TCP və UDP ilə birlikdə istifadə olunur. İnternet protokolu üçün sockets tətbiq edən kitabxanalar axınlar üçün TCP, datagramlar üçün UDP və xammal sockets üçün IP-ni istifadə edir.

İnternet üzərindən ünsiyyət qurmaq üçün, IP socket kitabxanaları xüsusi kompüterləri müəyyən etmək üçün IP ünvanından istifadə edirlər. İnternetin bir çox hissəsi istifadəçilərin və yuva proqramçılarının kompüterlərlə ünvanı ( məsələn , "bucomputer.wireless.about.com") ünvanı ilə əvəzinə ( məsələn , 208.185.127.40) istifadə edə bilməsi üçün adlandırma xidmətləri ilə işləyir. Stream və datagram sockets də birdən çox ərizə bir-birindən fərqləndirmək üçün IP port nömrələrini istifadə edir. İnternetdə İnternet tarayıcıları, məsələn, portu 80 veb serverləri ilə səyyar ünsiyyət üçün standart olaraq istifadə edirlər.