Soketlar
Soket sinfi
Soketlar TCP va UDP internetda ishlashning asosidir. .NET-da soketlar System.NET.Sockets.Socket klassi bilan ifodalanadi, bu tarmoq orqali xabarlarni qabul qilish va yuborish uchun past darajadagi interfeysni ta'minlaydi.
Keling, ushbu sinfning asosiy xususiyatlarini ko'rib chiqaylik:
AddressFamily: Soket tomonidan ishlatilgan barcha manzillarni qaytaradi. Ushbu xususiyat bir xil nomdagi AddressFamily ro'yxatida aniqlangan qiymatlardan birini ifodalaydi. Hisoblash 18 xil qiymatni o'z ichiga oladi, eng ko'p ishlatiladigan:
Available: o'qish uchun mavjud bo'lgan ma'lumotlarni qaytaradi.
Connected: Agar soket masofaviy xostga ulangan bo'lsa, haqiqiy qiymatni qaytaradi.
LocalEndPoint: Soket ishga tushirilgan va u ma'lumot olgan mahalliy nuqtani qaytaradi.
ProtocolType: sanash qiymatlaridan birini qaytaradi. Soket tomonidan ishlatiladigan protokolni aks ettiruvchi ProtocolType. Quyidagi mumkin bo'lgan qiymatlar mavjud:
SocketType: Soket turini qaytaradi. SocketType ro'yxatidagi qiymatlardan birini ifodalaydi:
Dgram: Soket Udp protokoli yordamida datagramlarni qabul qiladi va yuboradi. Ushbu soket turi protokol turi bilan ishlaydi - Udp va AddressFamily.InterNetwork qiymati
Xom: soket asosiy transport protokoliga kirish huquqiga ega va xabarlarni uzatish uchun ICMP va IGMP kabi protokollardan foydalanishi mumkin.
Rdm: soket doimiy ulanish o'rnatmasdan turib uzoqdagi xostlar bilan aloqa o'rnatishi mumkin. Agar soket tomonidan yuborilgan xabarlarni etkazib berib bo'lmaydigan bo'lsa, soket bu haqda xabar 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 ushbu socket turi Tcp protokoli turi va AddressFamily_InterNetwork qiymati bilan bog'langan
Unknown: NetBios manzili
Soket ob'ekti yaratish uchun uning konstruktorlaridan birini ishlatishingiz mumkin. Masalan, Tcp protokolidan foydalanadigan soket:
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Yoki bir socket UDP protokol yordamida:
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); Shunday qilib, soket yaratishda biz turli xil protokollarning kombinatsiyalarini, soket turlarini, AddressFamily ro'yxatidan qiymatlarni belgilashimiz mumkin. Biroq, shu bilan birga, barcha kombinatsiyalar to'g'ri emas. Shunday qilib, Tcp protokoli orqali ishlash uchun 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, soketlarni ishlatish, individual protokollarning qanday ishlashini bilishni talab qilishi mumkin. Tcp va Udp-ga nisbatan hamma narsa nisbatan sodda.