242
Soketni aniqlash uchun ma’lumotlar
tuzilishining formati
jarayonlar ishlatadigan tilga bog‘liq. Masalan, C tilida soket 7.6-
rasmda ko‘rsatilgandek, beshta maydonli tuzilma (tuzilish yoki yozuv)
sifatida aniqlanadi.
7.6- rasm. Soket ma’lumotlarining tuzilishi
E’tibor bering, dasturchi ushbu tuzilmani
qayta aniqlamasligi
kerak; u allaqachon aniqlangan. Dasturchi faqat ushbu ta’rifni o‘z
ichiga olgan sarlavha faylidan foydalanishi kerak.
Oilasi
Turi
Protokol
Lokal soket manzili
Masofadagi soket manzili
Maydonlar
struct socket
{
int
family;
int
type;
int
protocol;
socketaddr
local;
socketaddr
remote;
};
243
Keling, ushbu tuzilishda foydalaniladigan maydonlarni qisqacha
ko‘rib o‘tamiz:
Oilasi (Family). Ushbu maydon protokol guruhini belgilaydi:
IPv4, IPv6, UNIX domen protokollari va boshqalar. Biz TCP/IP da
ishlatadigan oilasi (family) turi IPv4 protokoli uchun doimiy IF_INET
va IPv6 protokoli uchun IF_INET6 tomonidan belgilanadi.
Turi (Type). Ushbu maydon soketning to‘rt turini belgilaydi:
SOCK_STREAM (TCP uchun), SOCK_DGRAM (UDP uchun),
SOCK_SEQPACKET
(SCTP
uchun)
va
SOCK_RAW
(IP
xizmatlaridan bevosita foydalanadigan ilovalar uchun) 7.7-rasmda
ko‘rsatilgan.
Protokol (Protocol). Ushbu maydon
interfeysni ishlatadigan
protokolni belgilaydi. TCP/IP protokoli to‘plami uchun 0 ga
o‘rnatiladi.
Lokal soket manzili (Local socket address).
Ushbu maydon
mahalliy soket manzilini belgilaydi. Soket
manzili IP manzil va port
raqamining kombinatsiyasi hisoblanadi.
Do'stlaringiz bilan baham: