You are on page 1of 3
RMI LAB EXERCISE : Interface Definition package Calculator; import java.rr Remote; import java.rr Remotetxception; public interface Calcinterface extends Remote { public int add{int x, int y) throws RemoteException; public int sub(int x, int y}throws RemoteException; public int mul{int x, int y}throws RemoteException; public int div(int x, nt y)throws RemoteException; ) Interface Implementation package Calculator; import java.rmi.RemoteException; import java.rmi-server UnicastRemoteObject; public class CalcRmi extends UnicastRemoteObject implements Calcinterface { public CaleRmil) throws RemoteException { } @Override public int add{int x, int y) throws RemoteException { return(xty};} @Override public int subint x, int y) throws Remote€xception { return(scy); } @override public int mullint x, int y) throws RemoteException { returntxty); } @Override public int div(int x, int y) throws RemoteException { return(x/y); }) Client Code package Calculator; import java.rmi.Naming; import java.rmi.registry.LocateRegistry; import java.rmi.registry Regist import java.util Scanner; public class CaleClient { public static void main(String{] args) { int num4,num2,sum,sub,mul; double div; Scanner input =new Scanner(System.in); System out printin("Please Enter the following options only\n"); Syster.out printin("Enter + for Addition\n" System.out printin("Enter - for Subtraction\n"); System.out.printin( "Enter / for divsion\n System.out printin("Enter * for Multiplication\n"); System.out.printin("Enter q for Exit"); wy /*Caleinterface ¢ =(Calcinterface)Naming.lookup("/localhost/CalCi"}; the object returned by lookup() depending on the naming system and data associated with it so we typecast it {* basic java code for menu driven program*/ Registry locateRegistry.getRegistry(" calhost"); Caleinterface c =(CalcInterface)r-lookup("CalClI"); char choice; Syster.out printin("Enter Your Option"); choice =input.next().charAt(0}; System.out.printin("Enter the first number"); numi=input.nextint(); System.out.printin("Enter the second number"); fnum2=input.nextint(); switch(choice) — { case": sum=c.add(num1, num2}; Syster.out printin("Sum of “+numi+" and "+num2+"is="+sum}; catch (Exception e) { System.err.printin{"Exception"+e#"Thrown"); } } } Step-4: Server Side Code package Calculator; import java.rmi.registry-LocateRegistry; import java.rr segistry.Registry; public class CaleServer { public static void main(String] args) { ty Registry r =LocateRegistry.createRegistry(1099); rrebind\"CalCli", new CalcRmi(); // binding the implementation class in CaleRmi to calel System out printin"Server Ready. d catch{Exception e) { System.out.printin("Server not connected"+e]; } }

You might also like