TCP va UDP protokollari haqida
Bu yerdagi kodlarda hatolik bo'lishi mumkin versiyaga ahamiyat bering bu kodlar macintoshda sinalgan hammasi
Last updated
Bu yerdagi kodlarda hatolik bo'lishi mumkin versiyaga ahamiyat bering bu kodlar macintoshda sinalgan hammasi
Last updated
TCP protokoli
TCP (Transmission Control Protocol) ishonchli ma'lumot uzatishni ta'minlaydigan, ulanishga asoslangan protokoldir. U ma'lumotlar paketlarini ketma-ketlikda va to‘liq holatda qabul qilishga mo‘ljallangan. TCP orqali ma'lumot yuborilganda quyidagi jarayonlar amalga oshadi:
Ulanish o‘rnatiladi (3-way handshake
).
Ma'lumotlar paketlarga bo‘linadi va yuboriladi.
Har bir paket uchun tasdiq (ACK) olinadi.
Paketlar ketma-ketlikda yig‘iladi va yo‘qolgan paketlar qayta yuboriladi.
TCP jarayoni kechikishni oshirsa-da, ma'lumotning buzilmasligini va tartibda yetib borishini kafolatlaydi. Shuning uchun u veb-sahifalarni yuklash, elektron pochta xabarlarini yuborish yoki fayl uzatish kabi ishonchlilik talab qilinadigan ilovalarda qo‘llaniladi.
UDP protokoli
UDP (User Datagram Protocol) ulanishsiz, ishonchsizlikni qabul qiladigan, lekin tezkor protokoldir. U ma'lumot paketlarini hech qanday kafolatsiz yuboradi, ya'ni:
Ulanish o‘rnatilmaydi.
Paketlar to‘g‘ridan-to‘g‘ri yuboriladi.
Paketlar yo‘qolishi yoki tartibdan chiqib ketishi mumkin.
Tasdiq yoki qayta yuborish jarayoni mavjud emas.
UDP kechikishlarni minimal darajada ushlab turadi va tezlikni ustuvor qiladi. Shu sababdan, u real vaqt rejimidagi xizmatlar, masalan, onlayn o‘yinlar, ovozli qo‘ng‘iroqlar (VoIP), va jonli oqim xizmatlarida qo‘llaniladi.
Socket yaratish (umumiy)
Assembly tilida TCP yoki UDP socket yaratish uchun tizim chaqiruvlaridan foydalaniladi. Asosiy tizim chaqiruvlari quyidagilar:
socket — yangi socket yaratadi.
bind — lokal manzil va portni socketga bog‘laydi.
connect — serverga ulanish o‘rnatadi (TCP).
send / recv — TCP orqali ma'lumot yuborish va qabul qilish.
sendto / recvfrom — UDP orqali ma'lumot yuborish va qabul qilish.
close — socketni yopadi.
TCP uchun socket yaratish jarayoni
TCP protokoli uchun socket yaratish va ishlatish quyidagi bosqichlarda amalga oshiriladi:
socket()
chaqiruvi yordamida TCP socket yaratiladi (AF_INET
, SOCK_STREAM
).
Klient uchun connect()
orqali serverga ulanish amalga oshiriladi.
send()
va recv()
yordamida ma'lumotlar almashiladi.
Jarayon tugagach, close()
yordamida socket yopiladi.
UDP uchun socket yaratish jarayoni
UDP protokolida ulanish talab qilinmaydi. Jarayon quyidagicha bo‘ladi:
socket()
chaqiruvi yordamida UDP socket yaratiladi (AF_INET
, SOCK_DGRAM
).
sendto()
yordamida ma'lumotni bevosita manzilga yuborish mumkin.
recvfrom()
yordamida ma'lumot qabul qilinadi.
Jarayon tugagach, close()
yordamida socket yopiladi.
TCP: connect()
chaqiruvini ishlatib, serverga ulanish o‘rnatiladi.
UDP: connect()
chaqiruvi talab qilinmaydi, to‘g‘ridan-to‘g‘ri sendto()
va recvfrom()
yordamida ma'lumotlar yuboriladi yoki qabul qilinadi.
bular orqali assembly tilida TCP va UDP protokollaridan samarali foydalanishni boshlashingiz mumkin.