package rmimethod;
import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
public class Service {
private static final String IP = "127.0.0.1";
private static final int PORT = 9456;
private static final String REMOTE_NAME = "userDao";
private static final String REMOTE_URL = "rmi://"+IP+":"+PORT+"/"+REMOTE_NAME;
public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException, InterruptedException {
Hello hello = new ChinaHello(); //实例化对象
LocateRegistry.createRegistry(PORT); //注册端口
Naming.bind(REMOTE_URL, hello); //绑定远程服务对象
System.out.println("远程"+REMOTE_NAME+"启动成功....");
Thread.currentThread().sleep(100000);
}
}
package rmimethod;
import java.rmi.Remote;
public interface Hello extends Remote{
String say(String name);
}
public class Client {
public static void main(String args[]) throws MalformedURLException, RemoteException, NotBoundException{
Hello userDao = (Hello) Naming.lookup("rmi://127.0.0.1:9456/userDao"); //调用远程服务的方法
String name=userDao.say("刘明");
System.out.println(name);
}
}
public class ChinaHello implements Hello,Serializable{
public String say(String name) {
return "你好,"+name;
}
}