学习rmi 感觉很好....

今天上午学习一下:rmi

感觉良好!使用了网上的例子,好象是一个系统以的。很像socket.

public interface Calculator extends Remote {
    public long add(long a, long b) throws java.rmi.RemoteException;
}

public class CalculatorImpl extends UnicastRemoteObject implements Calculator{

    public CalculatorImpl() throws RemoteException{
        super();
    }
   
    public long add(long a, long b) throws RemoteException {
        return a + b;  //To change body of implemented methods use File | Settings | File Templates.
    }

   }

 

public class CalculatorServer {
    public CalculatorServer() {
         try {
           Calculator c = new CalculatorImpl();
           Naming.rebind("rmi://localhost:1098/CalculatorService", c);
         } catch (Exception e) {
           System.out.println("Trouble: " + e);
         }
       }

       public static void main(String args[]) {
         new CalculatorServer();
       }

}

public class CalculatorClient {
    public static void main(String[] args) {
            try {
                Calculator c = (Calculator)
                Naming.lookup("rmi://localhost:1098/CalculatorService");
                System.out.println( c.add(4, 5) );
            }
            catch (MalformedURLException murle) {
                System.out.println();
                System.out.println(
                  "MalformedURLException");
                System.out.println(murle);
            }
            catch (RemoteException re) {
                System.out.println();
                System.out.println(
                            "RemoteException");
                System.out.println(re);
            }
            catch (NotBoundException nbe) {
                System.out.println();
                System.out.println(
                           "NotBoundException");
                System.out.println(nbe);
            }
            catch (
                java.lang.ArithmeticException
                                          ae) {
                System.out.println();
                System.out.println(
                 "java.lang.ArithmeticException");
                System.out.println(ae);
            }
        }

}

 

编译以上类。再用>rmic CalculatorImpl

然后在doc下运行:

>rmi RMI端口   // (no 1 cmd)

>rmi  CalculatorServer     //启动rmi服务  (no 2 cmd)

>rmi CalculatorClient      //执行客户端 (no 3 cmd)

 

详细解决见: http://java.chinaitlab.com/rcj/39660.html

 

你可能感兴趣的:(java,C++,c,socket,C#)