import java.io.*; import java.net.*; import java.util.*; public class Server { public static void main( String[] args ) { new Server(); } public Server() { System.out.println( "Server started at " + new Date() ); try { // Create a server socket ServerSocket serverSocket = new ServerSocket( 8123 ); // Listen for a connection request Socket socket = serverSocket.accept(); // Create data input and output streams DataInputStream inputFromClient = new DataInputStream( socket.getInputStream() ); DataOutputStream outputToClient = new DataOutputStream( socket.getOutputStream() ); while ( true ) { // Receive radius from the client double radius = inputFromClient.readDouble(); // Compute area double area = radius * radius * Math.PI; // Send area back to the client outputToClient.writeDouble( area ); System.out.println( "Radius received from client: " + radius ); System.out.println( "Area found: " + area ); } } catch( IOException ex ) { System.err.println( ex ); } } }