• 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之间不成功,以后有时间再看为什么~

  • 相关阅读:
    dom4j解析xml字符串实例
    使用Dom4j生成xml文件(utf-8编码)
    viewer.js插件简单使用说明
    html标签title属性效果优化
    XML文件读写编码不是UTF-8的问题
    webservice wsdl文件标签讲解
    定销房概念扫盲
    Sql Server系列:视图
    Centos7安装mysql5.6
    java实现链式队列
  • 原文地址:https://www.cnblogs.com/dorothychai/p/4176644.html
Copyright © 2020-2023  润新知