import java.rmi.*; public class ratclient { public static void main(String[] args) { rrat r1, r2; rrat r3, r4; bigobject a; try { System.setProperty("java.security.policy","client.policy"); System.setSecurityManager(new RMISecurityManager()); r1 = (rrat) Naming.lookup("rmi://localhost/rat1"); r2 = (rrat) Naming.lookup("rmi://localhost/rat2"); r3 = (rrat) Naming.lookup("rmi://localhost/rat2"); // same System.out.println(r1.toStr()); System.out.println(r2.toStr()); System.out.println(r1.eqr(r2)); r2.invert(); System.out.println(r2.toStr()); System.out.println(r3.toStr()); a = new bigobject(2); r2.change(a); System.out.println("a.x is "+a.x); r4 = r2.make("rat4",2,6); // is r4 local or remote? r4.setn(4); System.out.println(r4.toStr()); } catch (Exception ee) { ee.printStackTrace(); } } // main }