Sobes.tech
Junior

Socket nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Socket (socket) — bu proqramlaşdırma interfeysi (API) proseslər arasında şəbəkə qarşılıqlı əlaqə üçün. O, TCP və UDP kimi şəbəkə protokolları ilə işləmək üçün abstraksiya təmin edir və proqramların şəbəkə vasitəsilə məlumat göndərməsinə və qəbul etməsinə imkan verir.

O, məlumat mübadiləsi üçün son nöqtəni təmsil edir. Məsələn, veb server brauzerlərdən sorğuları qəbul edə bilər və müştəri tətbiqi məlumatları serverə göndərə bilər.

Socketlər əsasən iki növ ola bilər:

  • Axın (Stream sockets, SOCK_STREAM): TCP protokolundan istifadə edir, etibarlı və ardıcıl məlumat çatdırılmasını təmin edir. HTTP və ya FTP kimi çatdırılma zəmanəti tələb edən tətbiqlər üçün uyğundur.
  • Datagram (SOCK_DGRAM): UDP protokolundan istifadə edir, paketlərin çatdırılmasını və ardıcıllığını zəmanət etmir. Sürət vacib olan yerlərdə, məsələn, onlayn oyunlar və ya axın videosunda istifadə olunur.

Şəbəkə tətbiqində socketlərlə işləmək üçün əsas mərhələlər (TCP nümunəsi):

  1. Socketin yaradılması: socket() çağırışı ilə socket deskriptoru alınır.
  2. Bind: Socket müəyyən IP ünvanı və port ilə əlaqələndirilir (server socket üçün).
  3. Dinləmə (Listen): Server socketini daxil olan əlaqələri dinləmək üçün qurur.
  4. Qəbul et (Accept): Gələn əlaqəni qəbul edir və bu əlaqə üçün yeni socket yaradır.
  5. Əlaqə qurma (Connect): Müştəri IP və port vasitəsilə serverə qoşulur (müştəri socket üçün).
  6. Göndərmə/Qəbul etmə (Send/Receive): Qurulan əlaqə vasitəsilə məlumat mübadiləsi.
  7. Bağlama (Close): İş bitdikdən sonra socket bağlanır.

Python-da TCP socketin yaradılması nümunəsi:

import socket

# TCP/IP socketin yaradılması
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Əlavə əməliyyatlar: bind(), listen(), accept() server üçün
# və ya connect() müştəri üçün, send(), recv(), close()