package rmi;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* Created by lxh on 2019/4/2.
*/
public interface MyRemote extends Remote{
public String sayHello() throws RemoteException;
}
MyRemote 实现类【MyRemoteImpl.java】
package rmi;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;
/**
* Created by lxh on 2019/4/2.
*/
@SuppressWarnings("serial")
public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{
protected MyRemoteImpl() throws RemoteException {
super();
}
@Override
public String sayHello() throws RemoteException{
return "Hello world";
}
public static void main(String[] args){
try {
MyRemote myRemote = new MyRemoteImpl();
LocateRegistry.createRegistry(6600);
Naming.bind("rmi://127.0.0.1:6600/helloworld",myRemote);
} catch (Exception e) {
e.printStackTrace();
}
}
}
客户端【MyRemoteClient.java】
package rmi;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
/**
* Created by lxh on 2019/4/2.
*/
public class MyRemoteClient {
public MyRemoteClient(){
}
public static void main(String[] args) {
new MyRemoteClient().go();
}
private void go(){
try {
MyRemote myRemote = (MyRemote)Naming.lookup("rmi://127.0.0.1:6600/helloworld");
String res = myRemote.sayHello();
System.out.println(res);
} catch (NotBoundException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}