417-20 guruh
Toshkent 2023 1. LABORATORIYA ISHI Mavzu:TCP kliyent-server tarmoq dasturiniyaratish
Ishningmaqsadi: Java dasturlash tili java.net.* va java.io.* paketlari klasslaridan foydalanib
TCP klient-server tarmoq dasturini yaratish.
Topshiriq: Talaba laboratoriya ishi uchun shaxsiy topshiriq oladi. Bu topshiriq bo‘yicha talaba TCP klient-server tarmoq dasturini yaratadi. Har bir talaba uchun shaxsiy topshiriq 1.1- jadvalda berilgan.
Nazariyqism: TCPklientiniyaratish Klientning birinchi o‘rinda bajaradigan vazifasi server bilan aloqa o‘rnatishdan iborat. Server va klient o‘rtasida aloqa o‘rnatish uchun Socket obyekti yaratiladi. TCP soketi klientining ilovasini yaratish uchun quyidagi vazifalarni bajaradi:
1. Socket obyektidan foydalanib, klient soketini yaratish.
2. Soketga yozish va undan o‘qish.
3. Ulanishni tugallash.
Klientsoketiniyaratish Klient soketining obykti server tomonidan eshitiladigan ikki parametr (IP adres va port raqami)ni qabul qiluvchi Socket klassining konstruktori yordamida yaratiladi.
SocketclientSocket=new Socket("127.0.0.1", 1001); Avvalgi kod fragmentida 127.0.01 ga teng bo‘lgan IP adres va 1001-port
shunday soketni aniqlaydiki, ushbu soketda server klient so‘rovlarini eshitadi.
Soketdano‘qishvayozish Klient va server o‘rtasida ulanish o‘rnatilganidan so‘ng klient serverga soket orqali so‘rov yuboradi. Soketdan o‘qish va yozish fayldan o‘qish va yozishga o‘xshash. Klientga server bilan o‘zaro aloqada ishlashni ta’minlash uchun
quyidashilarni bajarish zarur:
PrintStream va BufferedReader klasslari har biri uchun ikkita obyekt e’lon
qilinadi. Ushbu obyektlar soketdan o‘qish va yozish uchun ishlatiladi.
DataOutputStreamoutToServer=new DataOutputStream(clientSocket.getOutputStream()); BufferedReaderinFromServer= new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); Socket klassining getInputStream() va getOutputStream() metodlari klientga
server bilan o‘zaro aloqada ishlash imkonini beradi. getInputStream() metodi BufferedReader obyektiga soketdan o‘qish, getOutputStream() metodi esa DataOutputStream obyektiga soketga yozish imkonini beradi.
Klient ilovasida kiritilgan ma’lumotlar serverga uzatilishi uchun standart kirish bilan aloqa o‘rnatish uchun BufferdReader klassining yana bir obyekti e’lon qilinadi.