import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; interface Calculator extends Remote{ int add(int a, int b) throws RemoteException; } class CalculatorImpl extends UnicastRemoteObject implements Calculator{ CalculatorImpl() throws RemoteException{ } public int add(int a, int b){ System.out.println("Adding "+a+" and "+b+" ......."); return a+b; } } class ServerApp{ public static void main(String[] args) throws Exception{ CalculatorImpl ci=new CalculatorImpl(); Registry r=LocateRegistry.createRegistry(1099); r.bind("abcd", ci); } } class ClientApp{ public static void main(String[] args) throws Exception{ ...