// Server side public static void main(String args[]) { try{ MainFrame FLansinTVserver = new MainFrame(); CheckStatus checkit = new CheckStatus(FLansinTVserver); FLansinTVserver.configfile = args[0]; FLansinTVserver.ReadConfigFile(FLansinTVserver.configfile); checkit.CheckDetails(); FLansinTVserver.setVisible(true); try { MainFrame obj = new MainFrame(); RMI stub = (RMI) UnicastRemoteObject.exportObject(obj, 0); // Bind the remote object's stub in the registry LocateRegistry.createRegistry(Registry.REGISTRY_PORT); Registry registry = LocateRegistry.getRegistry(); registry.bind("MyRMI", stub); System.err.println("Server ready"); } catch (Exception e) { System.err.println("Server exception: " + e.toString()); e.printStackTrace(); } } catch(Exception e){ } } // Client side public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { MainFrame LansinTVclient = new MainFrame(); LansinTVclient.setVisible(true); try { Registry registry = LocateRegistry.getRegistry("192.168.1.201"); RMI stub = (RMI) registry.lookup("MyRMI"); int response = stub.sayHello(4, 6); System.out.println("response: " + response); } catch (Exception e) { System.err.println("Client exception: " + e.toString()); e.printStackTrace(); } } }); } /* ERROR: Client exception: java.rmi.NotBoundException: MyRMI java.rmi.NotBoundException: MyRMI at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106) at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at MainFrame$2.run(MainFrame.java:268) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) BUILD SUCCESSFUL (total time: 3 seconds)*/