一、创建远程接口
创建接口ISayHello,并继承Remote接口,定义方法需抛出RemoteException异常。
public interface ISayHello extends Remote {
public String sayHello(String name) throws RemoteException;
}
二、实现远程接口
创建类SayHelloImpl,实现接口ISayHello,并继承UnicastRemoteObject方法。
public class SayHelloImpl extends UnicastRemoteObject implements ISayHello {
public SayHelloImpl() throws RemoteException {
}
@Override
public String sayHello(String name) throws RemoteException {
return "Hello," + name;
}
}
三、创建服务端
启动注册表,并指定监听端口,把远程对象注册到注册表。
public class HelloServer {
public static void main(String[] args) {
try {
ISayHello hello = new SayHelloImpl();
LocateRegistry.createRegistry(8888);
Naming.bind("rmi://localhost:8888/sayHello", hello);
System.out.println("server start success");
} catch (Exception e) {
e.printStackTrace();
}
}
}
四、创建客户端
从注册表查询远程对象。
public class HelloClient {
public static void main(String[] args) {
try {
ISayHello hello = (ISayHello) Naming.lookup("rmi://localhost:8888/sayHello");
System.out.println(hello.sayHello("zz"));
} catch (Exception e) {
e.printStackTrace();
}
}
}