Write a Network program that client sends the data as radius of circle to server and server received that data and send the resultant area of circle to requested Client.
SERVER
import java.io.;
import java.net.;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(5000);
System.out.println("Server started. Waiting for client...");
while (true) {
Socket socket = serverSocket.accept();
System.out.println("Client connected.");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
double radius = Double.parseDouble(in.readLine());
double area = Math.PI * radius * radius;
out.println(area);
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
CLIENT
import java.io.;
import java.net.;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 5000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
double radius = 5.0;
out.println(radius);
double area = Double.parseDouble(in.readLine());
System.out.println("Area of the circle with radius " + radius + " is: " + area);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}