2. laboratoriya ishi mavzu: udp kliyent-server tarmoq dasturini yaratish Ishning maqsadi



Yüklə 48,71 Kb.
Pdf görüntüsü
səhifə1/2
tarix27.12.2023
ölçüsü48,71 Kb.
#199742
  1   2
tr0GG3nJax3Qm9MLAHc9UqjYg1JCLVaZ4ZmTSKzG



2. LABORATORIYA ISHI
Mavzu: UDP kliyent-server tarmoq dasturini yaratish 
 
Ishning maqsadi: 
 
Java dasturlash tili java.net.* va java.io.* paketlari klasslaridan foydalanib 
UDP klient-server tarmoq dasturini yaratish. 
Topshiriq: 
Talaba laboratoriya ishi uchun shaxsiy topshiriq oladi. Bu topshiriq bo‘yicha 
talaba UDP klient-server tarmoq dasturini yaratadi. Har bir talaba uchun shaxsiy 
topshiriq 2.1- jadvalda berilgan. 
Nazariy qism: 
UDP serverini yaratish. UDP serveri klient ilovalariga xizmat ko‘rsatish 
uchun UDP protokolidan foydalanadigan tarmoq ilovasidir. UDP serverini yaratish 
uchun DatagramPacket obyektlarini klientlardan qabul qiladigan DatagramSocket 
obyektidan foydalaniladi. UDP serverini yaratish uchun quyidagilarni bajarish 
kerak bo‘ladi: 

DatagramSocket obyektidan foydalanib soket yaratish; 

DatagramPacket klass obyektini yaratish va klient xabarlarini qabul qilish 
uchun receive() metodidan foydalanish; 

DatagramPacket klass obyektini yaratish va klient xabarlarini uzatish 
uchun send() metodidan foydalanish; 

main() metodida UDP server klassi konstruktorini chaqirib, serverni ishga 
tushirish. 
Datagramma 
paketini 
qabul 
qiluvchi 
DatagramPacket 
obyekti 
datagrammalarni saqlash uchun buferga ega.
Qabul qiluvchiga yuborilgan DatagramPacket obyekti qabul qilingan 
ma’lumotlar obyektidan farq qiladi. Ushbu DatagramPacket obyekti xostning paket 
yuborilgan IP-adresi va port nomeriga ega bo‘ladi.
4 ta parametrni qabul qiluvchi DatagramPacket klassining yangi packet 
obyekti yaratiladi. 




buffer: ma’lumotlarga ega bo‘lgan buferni beradi. 

length: bufer uzunligin baytlarda beradi. 

address: datagramma yuborilgan adresni beradi. 

port: masofadagi kompyuter datagrammani qabul qilishda ishlatadigan 
port nomerini beradi. 
DatagramSocket klassining send() metodi adresga DatagramPacket 
obyektini yuboradi. 
UDP serverini ishga tushirish uchun main() metodidagi konstruktor klassi 
chaqiriladi.
Quyida UDP serverning Java kodi keltirilgan: 
package udp; 
import java.io.*; 
import java.net.*; 
class Server 

public static void main(String args[]) throws Exception 

DatagramSocket serverSocket = new DatagramSocket(9876); 
byte[] receiveData = new byte[1024]; 
byte[] sendData = new byte[1024]; 
System.out.println("Server ishga tushdi!"); 
while(true) 

DatagramPacket receivePacket = new 
DatagramPacket(receiveData, receiveData.length); 
serverSocket.receive(receivePacket); 
String sentence = new String( receivePacket.getData()); 
System.out.println("Qabul qilindi: " + sentence); 
InetAddress IPAddress = receivePacket.getAddress(); 
int port = receivePacket.getPort(); 
String capitalizedSentence = sentence.toUpperCase(); 
sendData = capitalizedSentence.getBytes(); 
DatagramPacket sendPacket = 
new DatagramPacket(sendData, sendData.length, IPAddress, 
port); 
serverSocket.send(sendPacket); 







UDP klientini yaratish.
 
UDP klienti UDP protokolidan serverga so‘rovlarni 
yuborish va server ilovasidan javoblarni qabul qilish uchun foydalanadigan 
ilovadir. Foydalanuvchining UDP-ilovasida UDP serveridan xabarlarni qabul 
qiladigan DatagramSocket klass obyektini yaratish zarur, bu uchun esa 
quyidagilarni bajarish lozim bo‘ladi: 
1. Server bilan ulanish o‘rnatish uchun DatagramSocket klass obyektidan 
foydalanuvchi soketini yaratish. 
2. DatagramPacket klass obyektini yaratish va xabarlarni serverga yuborish 
uchun send() metodidan foydalanish. 
3. DatagramPacket klass obyektini yaratish va serverdan yuborilgan 
xabarlarni qabul qilish uchun receive() metodidan foydalanish. 
DatagramSocket obyekti so‘rov yuboriladigan serverning IP-manzili va port 
raqamini o‘z ichiga oladi.
Quyida UDP klientning Java kodi keltirilgan: 
package udp; 
import java.io.*; 
import java.net.*; 
class Client 

public static void main(String args[]) throws Exception 

System.out.println("Client ishga tushdi!"); 
BufferedReader inFromUser = new BufferedReader(new 
InputStreamReader(System.in)); 
DatagramSocket clientSocket = new DatagramSocket(); 
InetAddress IPAddress = InetAddress.getByName("localhost"); 
byte[] sendData = new byte[1024]; 
byte[] receiveData = new byte[1024]; 
String sentence = inFromUser.readLine(); 
sendData = sentence.getBytes(); 
DatagramPacket sendPacket = new DatagramPacket(sendData, 
sendData.length, IPAddress, 9876); 
clientSocket.send(sendPacket); 
DatagramPacket receivePacket = new 
DatagramPacket(receiveData, receiveData.length); 
clientSocket.receive(receivePacket); 
String modifiedSentence = new String(receivePacket.getData()); 
System.out.println("SERVERDAN:" + modifiedSentence); 
clientSocket.close(); 

}



2.1- jadval 
Topshiriq variantlari

Yüklə 48,71 Kb.

Dostları ilə paylaş:
  1   2




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