Mavzu: Soketlar



Download 160 Kb.
bet1/4
Sana28.06.2022
Hajmi160 Kb.
#712120
  1   2   3   4
Bog'liq
Soketlar


Mavzu: Soketlar

Reja:
I.Kirish.
Soketlar haqida umumiy tushuncha.
II.Asosiy qism.
1.Soket sinfi
2.TCP soketlarida mijoz-server dasturi
3.UDP bilan ishlash uchun soketlardan foydalanish
III.Xulosa.
IV.Foydalanilgan adabiyotlar.

I.Kirish.
1.1. Soketlar haqida umumiy tushuncha.
Soket dasturiy ta’minoti server va mijoz kompyuterlarini ulaydi. Sockets dasturlash -bu TCP/IP tarmoqlarida aloqaning asosiy texnologiyasi.Soket tarmoqda ishlaydigan ikkita dastur o’rtasida ikki tomonlama aloqaning bittasi. Soket, boshqa soket bilan ma’lumotni yuborish va qabul qilish uchun ikki tomonlama aloqa uchi nuqtasini taqdim etadi. Soket ulanishlari an’anaviy tarzda ikki xil kompyuter o’rtasida mahalliy tarmoq yoki internet orqali ishlaydi, biroq ular bilan kompyuterda ishlash jarayonida ham foydalanilishi mumkin.
Soket va manzillar. TCP/IP tarmoqlaridagi soketning so’nggi nuqtalari har bir IP adresining va TCP/IP port raqamining kombinatsiyasi bo’lgan yagona manzilga ega. Socket ma’lum bir port raqamiga ulanganligi sababli , TCP qavati unga yuborilgan ma’lumotlarni oladigan ilovani identifikatsiya qilishi mumkin. Yangi uyani yaratishda , kutubxona avtomatik ravishda o’sha qurilmada noyob port raqamini ishlab chiqaradi. Dasturchi ma’lum bir hollarda port raqamlarini ham ko’rsatishi mumkin.
Soket kutubxonalari. To’g’ridan-to’gri past darajadagi socket API-larni kodlash o’rniga , tarmoq dasturchilari odatda soket kutubxonalaridan foydalanadilar. Odatda ishlatiladigan ikkita kutubxona Linux/Unix tizimlari va Windows uchun WinSock uchun Berkeley Sockets.
Open(), read(), write() va close() kabi fayllar bilan ishlaydigan dasturchilarga o’xshash API funktsiyalari to’plamini taqdim etadi.


I. Soketlar sinfi
Soketlar TCP va UDP internet bilan ishlashning markazidir. .NET tarmog'ida rozetkalar System.NET.Sockets.Socket sinfi bilan ifodalanadi , bu tarmoq orqali xabarlarni qabul qilish va jo'natish uchun past darajadagi interfeysni ta'minlaydi.
Ushbu sinfning asosiy xususiyatlarini ko'rib chiqaylik:

  • AddressFamily: Soket tomonidan ishlatiladigan barcha manzillarni qaytaradi. Bu xususiyat bir xil nomdagi AddressFamily ro'yxatida belgilangan qiymatlardan birini ifodalaydi . Ro'yxat 18 xil ma'noni o'z ichiga oladi, eng ko'p ishlatiladiganlari:

  • InterNetwork: IPv4 manzili

  • InterNetworkV6: IPv6 manzili

  • Ipx: IPX yoki SPIntX manzili

  • NetBios: NetBios manzili

  • Available: o'qilishi mumkin bo'lgan ma'lumotlar miqdorini qaytaradi

  • Connected: rozetka masofaviy xostga ulangan bo'lsa, rost qiymatini qaytaradi

  • LocalEndPoint: rozetka ishga tushirilgan va ma'lumotlarni qabul qiladigan mahalliy nuqtani qaytaradi

  • ProtocolType: Soket tomonidan ishlatiladigan protokolni ifodalovchi ProtocolType sanab qiymatlaridan birini qaytaradi . Quyidagi mumkin bo'lgan qiymatlar mavjud:

  • Ggp

  • Icmp

  • IcmpV6

  • Idp

  • Igmp

  • IP

  • IPSecAuthenticationHeader (IPv6 AH sarlavhasi)

  • IPSecEncapsulatingSecurityPayload (IPv6 ESP sarlavhasi)

  • IPv4

  • IPv6

  • IPv6DestinationOptions (IPv6 Destination Options sarlavhasi)

  • IPv6FragmentHeader (IPv6 fragment sarlavhasi)

  • IPv6HopByHopOptions (Sarlavhasi IPv6 Hop by Hop Options)

  • IPv6NoNextHeader (IPv6 Keyingi sarlavha yo'q)

  • IPv6RoutingHeader (IPv6 marshrutlash sarlavhasi)

  • Ipx

  • ND

  • Pup

  • Raw

  • Spx

  • SpxII

  • Tcp

  • Udp

  • Unknown (noma'lum protokol)

  • Unspecified (aniqlanmagan protokol)

Har bir qiymat mos keladigan protokolni ifodalaydi, lekin eng ko'p ishlatiladigan Tcp va Udp.

  • RemoteEndPoint: rozetka ulangan masofaviy xost manzilini qaytaradi

  • SocketType: rozetka turini qaytaradi. SocketType ro'yxatidagi qiymatlardan birini ifodalaydi :

  • Dgram: Soket Udp protokoli yordamida datagrammalarni qabul qiladi va yuboradi. Ushbu rozetka turi protokol turi - Udp va qiymat bilan birgalikda ishlaydi AddressFamily.InterNetwork

  • Raw: rozetka asosiy transport protokoliga kirish huquqiga ega va xabarlarni uzatish uchun ICMP va IGMP kabi protokollardan foydalanishi mumkin.

  • Rdm: Soket uzoqdagi xostlar bilan doimiy aloqa o'rnatmasdan bog'lanishi mumkin. Agar rozetka orqali yuborilgan xabarlarni yetkazib bo'lmasa, rozetka bu haqda bildirishnoma oladi.

  • Seqpacket: Doimiy ulanish bilan ishonchli ikki tomonlama ma'lumotlarni uzatishni ta'minlaydi

  • Stream: Doimiy ulanish bilan ishonchli ikki tomonlama ma'lumotlarni uzatishni ta'minlaydi. Aloqa uchun TCP protokoli ishlatiladi, shuning uchun bu rozetka turi Tcp protokoli turi va qiymati bilan bog'langan.AddressFamily.InterNetwork

  • Unknown: NetBios manzili

Soket ob'ektini yaratish uchun siz uning konstruktorlaridan birini ishlatishingiz mumkin. Masalan, TCP protokolidan foydalanadigan rozetka:
Socket socket = new
Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Yoki UDP protokoli yordamida rozetka:
Socket socket = new
Soket (AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.UDP);
Shunday qilib, rozetkani yaratishda biz AddressFamily ro'yxatidan protokollarning turli kombinatsiyalarini, rozetka turlarini, qiymatlarni belgilashimiz mumkin. Biroq, ayni paytda, barcha kombinatsiyalar to'g'ri emas. Shunday qilib, Tcp protokoli orqali ishlash uchun biz parametrlarni ko'rsatishimiz kerak: AddressFamily.InterNetwork, SocketType.Stream va ProtocolType.TCP. UDP uchun parametrlar to'plami boshqacha bo'ladi: AddressFamily.InterNetwork, SocketType.Dgram va ProtocolType.UDP. Boshqa protokollar uchun qiymatlar to'plami boshqacha bo'ladi. Shuning uchun, rozetkalardan foydalanish alohida protokollar qanday ishlashi haqida ba'zi bilimlarni talab qilishi mumkin. TCP va UDP bilan bog'liq bo'lsada, hamma narsa nisbatan sodda.
Rozetkalarning umumiy ishlash printsipi:
Tanlangan protokollardan qat'i nazar, rozetkalar bilan ishlashda biz Socket sinfining usullariga tayanamiz:


  • Accept(): kiruvchi ulanishni boshqarish uchun yangi Soket yaratadi

  • Bind(): Socket ob'ektini mahalliy so'nggi nuqtaga bog'laydi

  • Close(): rozetkani yopadi

  • Connect(): masofaviy xost bilan aloqa o'rnatadi

  • Listen(): kiruvchi so'rovlarni tinglashni boshlaydi

  • Poll(): rozetka holatini belgilaydi

  • Receive(): ma'lumotlarni qabul qiladi

  • Send(): ma'lumotlarni yuboradi

  • Shutdown(): rozetkada ma'lumotlarni yuborish va qabul qilishni bloklaydi

Amaldagi protokolga (TCP, UDP va boshqalar) qarab, rozetkalar bilan ishlashning umumiy printsipi biroz farq qiladi.
TCP kabi ulanishni o'rnatishni talab qiladigan protokoldan foydalanilganda, server kiruvchi ulanishlarni tinglash uchun nuqta o'rnatish uchun Bind usulini chaqirishi va keyin Tinglash usuli yordamida ulanishlarni tinglashni boshlashi kerak. Keyinchalik, Accept usulidan foydalanib, foydalanuvchi masofaviy xost bilan bog'lanish uchun ishlatiladigan Socket ob'ekti ko'rinishida kiruvchi ulanish so'rovlarini olishi mumkin. Qabul qilingan rozetkada ma'lumotlarni yuborish va qabul qilish uchun mos ravishda yuborish va qabul qilish usullari chaqiriladi. Agar foydalanuvchi serverga ulanishi kerak bo'lsa, u holda Connect usuli chaqiriladi. Server bilan bog'lanish uchun Yuborish yoki Qabul qilish usullari ham qo'llaniladi.
Agar foydalanuvchi UDP kabi ulanishni o'rnatishni talab qilmaydigan protokoldan foydalanayotgan bo'lsa, Bind usulini chaqirganidan so'ng, Listen usulini chaqirishi shart emas. Bu holda ma'lumotlarni qabul qilish uchun ReceiveFrom usuli, ma'lumotlarni yuborish uchun esa SendTo usuli qo'llaniladi.

Download 160 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish