zoukankan      html  css  js  c++  java
  • RMI之HelloWorld尝试

    服务器端代码如下:

    IHello接口:

    import java.rmi.Remote;
    import java.rmi.RemoteException;
    
    public interface IHello extends Remote { 
    
        /** 
         * @return return hellowold
         * @throws java.rmi.RemoteException 
         */ 
        public String helloWorld() throws RemoteException; 
    
        /** 
         * @param someBodyName
         * @return say hello to somebody 
         * @throws java.rmi.RemoteException 
         */ 
        public String sayHelloToSomeBody(String someBodyName) throws RemoteException; 
    }

    Hello实现:

    import java.net.MalformedURLException;
    import java.rmi.AlreadyBoundException;
    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.server.UnicastRemoteObject;
    
    /**
     * @ClassName: HelloImpl
     * @Description: TODO
     * @author: Dorothy
     * @Date: 2014-12-21 00:00:13
     */
    public class HelloImpl  extends UnicastRemoteObject implements IHello { 
        /** 
         * 
         * @throws RemoteException 
         */ 
        public HelloImpl() throws RemoteException { 
        } 
    
        /** 
         * 
         * @return return Hello World!
         * @throws java.rmi.RemoteException 
         */ 
        public String helloWorld() throws RemoteException { 
            return "Hello World!"; 
        } 
    
        /** 
         * 
         * @param someBodyName  
         * @return say Hello to somebody
         * @throws java.rmi.RemoteException 
         */ 
        public String sayHelloToSomeBody(String someBodyName) throws RemoteException { 
            return "Hello " + someBodyName + "!"; 
        } 
        
        
        public static void main(String args[]) { 
    
            try { 
                
                IHello rhello = new HelloImpl(); 
                LocateRegistry.createRegistry(8888);
                Naming.bind("rmi://localhost:8888/RHello",rhello);
    
                System.out.println(">>>>>INFO:Binding Successfully!"); 
            } catch (RemoteException e) { 
                e.printStackTrace(); 
            } catch (AlreadyBoundException e) { 
                e.printStackTrace(); 
            } catch (MalformedURLException e) { 
                e.printStackTrace(); 
            }  
        } 
    }

    客户端代码如下:

    import java.net.MalformedURLException;
    import java.rmi.Naming;
    import java.rmi.NotBoundException;
    import java.rmi.RemoteException;
    
    /**
     * @ClassName: HelloClient
     * @Description: TODO
     * @author: Dorothy
     * @Date: 2014-12-21 00:06:08
     */
    public class HelloClient {
        public static void main(String args[]){ 
            try { 
                IHello rhello =(IHello) Naming.lookup("rmi://localhost:8888/RHello"); 
                System.out.println(rhello.helloWorld()); 
                System.out.println(rhello.sayHelloToSomeBody("Dorothy")); 
            } catch (NotBoundException e) { 
                e.printStackTrace(); 
            } catch (MalformedURLException e) { 
                e.printStackTrace(); 
            } catch (RemoteException e) { 
                e.printStackTrace();   
            } 
        } 
    }

    同时IHello接口定义,在客户端也要有。

    在linux机器之间测试通过,windows和linux之间不成功,以后有时间再看为什么~

  • 相关阅读:
    【洛谷P2927 [USACO08DEC]拼图游戏Jigsaw Puzzles】深搜
    【洛谷1219】 八皇后 (搜索)
    【Uva 12558】 Egyptian Fractions (HARD version) (迭代加深搜,IDA*)
    【转】DCX (数独-八皇后问题)
    【2016 11 14】 总结
    【HDU 3038】 How Many Answers Are Wrong (带权并查集)
    【POJ1182】 食物链 (带权并查集)
    【20161111双11模拟赛】总结
    【HDU 5381】 The sum of gcd (子区间的xx和,离线)
    【HDU 5233】Tree chain problem (树形DP+树剖+线段树|树状数组)最大权不相交树链集
  • 原文地址:https://www.cnblogs.com/dorothychai/p/4176644.html
Copyright © 2011-2022 走看看