Tarmoqni dasturlash asoslari


Download 426.5 Kb.
bet19/28
Sana03.02.2023
Hajmi426.5 Kb.
#1156818
1   ...   15   16   17   18   19   20   21   22   ...   28
Bog'liq
TDA

UDPClient.java

package udp;

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 a, b, c: ");
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 < 3; 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

package udp;

import java.io.IOException;


import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

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[] d = data.split("~");

int a = Integer.parseInt(d[0]);
int b = Integer.parseInt(d[1]);
int c = Integer.parseInt(d[2]);

double D = b * b - 4.0 * a * c;

if (D > 0.0) {
double r1 = (-b + Math.pow(D, 0.5)) / (2.0 * a);
double r2 = (-b - Math.pow(D, 0.5)) / (2.0 * a);
sendData = ("yechimlar " + r1 + " va " + r2).getBytes();
result(sendData, IPAddress, port, serverSocket);
} else if (D == 0.0) {
double r1 = -b / (2.0 * a);
System.out.println("yechim " + r1);
sendData = ("yechim " + r1).getBytes();
result(sendData, IPAddress, port, serverSocket);
} else {
sendData = ("yechim yo'q").getBytes();
result(sendData, IPAddress, port, serverSocket);
}

}

private static void result(byte[] sendData, InetAddress IPAddress, int port, DatagramSocket serverSocket) throws IOException {


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 n ta sonni o‘sish tartibida saralash kliyent-server dasturini tuzing.



Download 426.5 Kb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   28




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