Tarmoqni dasturlash asoslari


Download 426.5 Kb.
bet17/28
Sana03.02.2023
Hajmi426.5 Kb.
#1156818
1   ...   13   14   15   16   17   18   19   20   ...   28
Bog'liq
TDA

UDPClient.java

import java.io.BufferedReader;


import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Arrays;
import java.util.Scanner;

public class UDPClient {

public static void main(String[] args) throws Exception {
System.out.print("Enter n: ");
Scanner scanner = new Scanner(System.in);
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName("localhost");
int n = scanner.nextInt();
byte[] sendData;
byte[] receiveData = new byte[10];
StringBuilder data = new StringBuilder();
for (int i = 0; i < n; i++) {
data.append(scanner.nextInt()).append("~");
}
sendData = data.toString().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("Result: " + modifiedSentence);


clientSocket.close();
}

}


UDPServer.java

import java.net.DatagramPacket;


import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Arrays;

public class UDPServer extends Thread {

public static void main(String[] args) throws Exception {
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData;
System.out.println("Started working server!");

DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);


serverSocket.receive(receivePacket);

String data = new String(receivePacket.getData());

InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();

String[] a = data.split("~");


int s = 1;

for (int i = 0; i < a.length; i++) {


try {
s *= Integer.parseInt(a[i]);
} catch (Exception e) {
a = Arrays.copyOf(a, a.length - 1);
}
}

sendData = String.valueOf(((float) Math.pow(s, (float) 1/a.length))).getBytes();

System.out.println(((float) Math.pow(s, (float) 1/a.length)));

DatagramPacket sendPacket =


new DatagramPacket(sendData, sendData.length, IPAddress,
port);
serverSocket.send(sendPacket);
serverSocket.close();
if (serverSocket.isClosed()) System.out.println("Server closed");
}

}



  1. UDP soketi asosida ixtiyoriy R radiusli doira yuzini hisoblash kliyent-server dasturini tuzing.



Download 426.5 Kb.

Do'stlaringiz bilan baham:
1   ...   13   14   15   16   17   18   19   20   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling