Jarayonlar


Rozetkalar A rozetka



Yüklə 1,24 Mb.
səhifə29/38
tarix16.05.2023
ölçüsü1,24 Mb.
#114382
1   ...   25   26   27   28   29   30   31   32   ...   38
Operatsion tizm Chapter 3 Jarayonlar

Rozetkalar

A rozetka hisoblanadi belgilangan kabi a oxirgi nuqta uchun aloqa. A juft ning jarayonlar muloqot qilish tarmoq orqali bir juft rozetkadan foydalanadi - har bir jarayon uchun bitta. Soket port raqami bilan birlashtirilgan IP manzili bilan aniqlanadi . Umuman olganda , rozetkalar foydalanish mijoz - server arxitektura. Server belgilangan portni tinglash orqali kiruvchi mijoz so'rovlarini kutadi . So'rov qabul qilingandan so'ng, server qabul qiladi a ulanish dan the mijoz rozetka uchun to'liq the ulanish. Muayyan xizmatlarni amalga oshiradigan serverlar (masalan , SSH , FTP va HTTP ) taniqli portlarni tinglaydi ( SSH serveri 22-portni tinglaydi; FTP -server 21-portni tinglaydi; veb yoki HTTP serveri 80-portni tinglaydi) . 1024 dan past bo'lgan barcha portlar taniqli hisoblanadi va standart xizmatlarni amalga oshirish uchun ishlatiladi.
Mijoz jarayoni ulanish uchun so'rovni boshlaganida, uning asosiy kompyuteri tomonidan unga port tayinlanadi. Bu portda 1024 dan katta ixtiyoriy raqam mavjud. Masalan, agar X xostidagi mijoz 146.86.5.20 IP manziliga ega bo'lsa , o'rnatishni xohlasa. a ulanish bilan a veb server (qaysi hisoblanadi tinglash yoqilgan port 80) da

mezbon X


(146.86.5.20)



Rasm 3.26 Aloqa foydalanish rozetkalar.

X xostiga 1625 port tayinlanishi mumkin. Ulanish bir juft rozetkadan iborat bo‘ladi: (146.86.5.20:1625) X xostida va (161.25.19.8:80) veb-serverda. Bu holat 3.26-rasmda tasvirlangan. Paketlar sayohat orasida the xostlar bor yetkazib berildi uchun the muvofiq jarayon asoslangan maqsad port raqamida.


Hammasi ulanishlar kerak bo'l noyob. Shuning uchun, agar boshqa jarayon shuningdek yoqilgan xost X tilagan uchun o'rnatish boshqa ulanish bilan the bir xil veb server, bu bo'lardi tayinlansin _ a port raqam kattaroq dan 1024 va emas teng uchun 1625. Bu barcha ulanishlar yagona juft rozetkadan iborat bo'lishini ta'minlaydi.
Garchi eng dastur misollar ichida bu matn foydalanish C, biz bo'ladi yordamida rozetkalarni tasvirlab bering Java, xuddi shunday beradi a interfeysi ancha oson rozetkalar va ega a boy kutubxona uchun tarmoqqa ulanish kommunal xizmatlar. Bular manfaatdor ichida rozetka dasturlash C yoki C++ kerak maslahatlashing the bibliografik eslatmalar da the oxiri ning the bob. Java uch xil turdagi rozetkalarni taqdim etadi. Ulanishga yo'naltirilgan ( TCP ) rozetkalar bor amalga oshirildi bilan the Soket sinf. Ulanishsiz ( UDP ) rozetkalardan foydalanish the DatagramSocket sinf. Nihoyat, the MulticastSocket sinf hisoblanadi a pastki sinf ning the DatagramSocket sinf. A multicast rozetka imkon beradi ma'lumotlar uchun bo'l yuborilgan uchun
bir nechta oluvchilar.
TCP soketlaridan foydalanadigan sana serverini tasvirlaydi . The operatsiya imkon beradi mijozlar uchun iltimos the joriy sana va vaqt serverdan. Server 6013 portni tinglaydi, garchi portda 1024 dan katta ixtiyoriy, foydalanilmagan raqam bo'lishi mumkin. Ulanish qabul qilinganda, server mijozga sana va vaqtni qaytaradi.
The sana server hisoblanadi ko'rsatilgan ichida Rasm 3.27. The server yaratadi a ServerSocket 6013 portni tinglashini belgilaydi. Keyin server accept() usuli bilan portni tinglashni boshlaydi. Server accept() usulida bloklaydi kutish uchun a mijoz uchun iltimos a ulanish. Qachon a ulanish so'rov qabul qilinganda, accept() server mijoz bilan bog'lanish uchun foydalanishi mumkin bo'lgan rozetkani qaytaradi.
The tafsilotlar ning Qanaqasiga the server muloqot qiladi bilan the rozetka bor kabi ergashadi. The server birinchi o'rnatadi a PrintWriter ob'ekt bu bu bo'ladi foydalanish uchun mijoz bilan muloqot qilish. A PrintWriter obyekti serverga rozetkaga yozish imkonini beradi foydalanish the muntazam chop etish() va println() usullari uchun chiqish. The

Import java.net.*; Import java.io.*;


ommaviy sinf DateServer


{
ommaviy statik bekor asosiy(String[] args) {
harakat qilib ko'ring {
ServerSocket paypoq = yangi ServerSocket (6013);

/* hozir tingla uchun ulanishlar */ vaqt (to'g'ri) {


Soket mijoz = paypoq. qabul qilish ();

PrintWriter qichqirmoq = yangi PrintWriter(client.getOutputStream(), rost);

/* yozish the Sana uchun the rozetka */ pout.println (yangi java.util.Date().toString());

/* yaqin the rozetka va Rezyume; qayta boshlash */


/* tinglash uchun ulanishlar */ client.close();
}
}
tutmoq (IOException ioe) {
System.err.println(io);
}
}
}




Yüklə 1,24 Mb.

Dostları ilə paylaş:
1   ...   25   26   27   28   29   30   31   32   ...   38




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin