Java RMI简易Hello World实现

Hello.java 接口

package example.hello;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Hello extends Remote{
        String sayHello() throws RemoteException;
}

Server.java

package example.hello;

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class Server implements Hello{
        public Server(){}
        public String sayHello(){
                return "Hello World";
        }

        public static void main(String args[]){

                try{
                        Server obj = new Server();
                        Hello stub = (Hello)UnicastRemoteObject.exportObject(obj,0);

                        Registry registry = LocateRegistry.getRegistry();
                        registry.bind("Hello",stub);

                        System.err.println("Server ready");
                }catch(Exception e){
                        System.err.println("Server expection:" + e.toString());
                        e.printStackTrace();
                }
        }
}

Client.java

package example.hello;

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class Client{
        private Client(){}

        public static void main(String args[]){
                String host = (args.length < 1)? null : args[0];
                try{
                        Registry registry = LocateRegistry.getRegistry(host);
                        Hello stub = (Hello)registry.lookup("Hello");
                        String response = stub.sayHello();
                        System.out.println("reponse:" + response);
                }catch(Exception e){
                        System.err.println("Client exception:" + e.toString());
                        e.printStackTrace();
                }
        }
}

使用javac进行编译;
运行步骤:
Start the Java RMI registry
Start the server
Run the client

***********遇到的问题:
1.直接使用javac Hello.java Client.java Server.java 无法自动生成example等一系列目录,求各位大神解答。(使用javac -d 则可以正常生成)

发布了14 篇原创文章 · 获赞 36 · 访问量 8240

猜你喜欢

转载自blog.csdn.net/weixin_42047699/article/details/90176077
今日推荐