}
} }
Yuqorida keltirilgan kod TCPServer.java sifatida saqlanadi.
UDP serveri klient ilovalariga xizmat ko‘rsatish uchun UDP protokolidan foydalanadigan tarmoq ilovasidir. UDP serverini yaratish uchun DatagramPacket ob’ektlarini klientlardan qabul qiladigan DatagramSocket ob’ektidan foydalaniladi. UDP serverini yaratish uchun quyidagilarni bajarish kerak bo‘ladi:
Quyidagi kod fragmentidan DatagramSocket ob’ektini yaratish uchun foydalanish mumkin:
DatagramSocket serverSocket = new DatagramSocket(9876);
Yuqoridagi kod fragmentida DatagramSocket klassining socket ob’ekti 9876 raqamli port bilan bog‘lanadi.
Datagramma paketini qabul qiluvchi DatagramPacket ob’ekti datagrammalarni saqlash uchun buferga ega. Quyidagi kod fragmentidan datagramma paketlarini qabul qiluvchi DatagramPacket ob’ektini yaratish uchun foydalanish mumkin:
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
Oldingi kod fragmentida socket ob’ektidan paketni qabul qilish uchun receive() metodini chaqiradigan DatagramPacket klassining packet ob’ekti yaratiladi.
UDP serverini ishga tushirish uchun main() metodidagi konstruktor klassi chaqiriladi. Quyidagi kod fragmentini UDP serverini ishga tushirish uchun ishlatish mumkin:
Oldingi kod fragmentida UDP server ilovasini ish tushiruvchi Server klass ob’ekti yaratiladi.
Ko‘rib chiqilgan kodda Server klass konstruktorida DatagramSocket klassining socket ob’ekti yaratiladi. Soket 9876 portga initsializatsiya qilingandan so‘ng, klient/server o‘zaro aloqasini boshqaruvchi receive() va send() metodlari chaqiriladi.
Quyidagi kod UDP serverga xabarlarni uzatuvchi va qabul qiluvchi UDP Client klassini yaratish uchun ishlatiladi:
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();
}
}
Yuqorida keltirilgan kod Client.java sifatida saqlanadi.
XULOSA
TCP va UDP klient-server tarmoq dasturini o’rganish.
Ushbu amaliy mashg’ulotimizni o’rganish davomida Java dasturlash tili java.net* va java.io* protokol klasslaridan foydalanib UDP va TCP klient server tarmoq dasturini yaratishni o’rgandik. Klient soketining obyekt tomonidan eshitiladigan ikki parametr IP adress va port raqamini qabul qiluvchi Socet klassining konstruktori yordamida yaratiladi.
Do'stlaringiz bilan baham: |