浅谈java RMI
何为java RMI:
java RMI 就是在远程方法调用(Remote Method Invocation)就是在客户端远程调用服务器端存在的方法,并执行。
如何使用RMI:
使用java RMI :
1,在服务器端写一个接口,并继承Remote
如下代码所示:
public interface phone extends Remote{
public void dial()throws java.rmi.RemoteException;
public void sendMsg(String str)throws java.rmi.RemoteException;
public String reciveMsg()throws java.rmi.RemoteException;
public void stop()throws java.rmi.RemoteException;
}
2,在服务器实现该接口,并继承 UnicableRemoteObject
代码如下所示:
public class PhoneImpl extends UnicableRemoteObject implements Phone{
public PhoneImple() throws java.rmi.RemoteException{
super();
}
public void dial()throws java.rmi.RemoteException{
syso("正在拨号");
}
public void sendMsg(String str)throws java.rmi.RemoteException{
syso(str);
}
public void rcvMsg()throws java.rmi.RemoteException{
syso("接收信息");
}
public void stop()throws java.rmi.RemoteException{
syso("挂掉电话");
}
}
3.服务器端程序
代码如下:
public class PhoneServer {
public PhoneServer()throws java.rmi.RemoteException{
try{
Phone phone = new PhoneImple();
Naming.rebind("rmi://127.0.0.1/Phone",phone);
}catch(Exception e){
}
}
public static void main(String[] args){
new PhoneServer();
}
}
4,客户端程序
代码如下:
public class PhoneClient{
public static void main(String[] args){
try{
Phone phone = Naming.lookup("rmi://127.0.0.1:1099/Phone");
phone.dial();
phone.sendMsg("nihao");
phone.recvMsg();
phone.stop();
}catch(Exception e){
}
}
}
5,启动rmiregister
最后开两个窗口分别编译两个java文件(服务器端程序,客户端程序);并执行
当然如果不是同一台机器,你需要用到rmi的编译器生成PhoneImple
最后你可以自己测试kan,一个简单的RMI系统就不治好了