1/4:
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Map;
/**
* 远程RMI 页面采集接口
*
*
*/
public interface IPageCollectRMI extends Remote {
public String test(String str) throws RemoteException;
}
2/4:
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
/**
* 远程RMI 页面采集接口实现类
*
* @author 张飞
*
*/
public class PageCollectRMIImpl extends UnicastRemoteObject implements
IPageCollectRMI {
public PageCollectRMIImpl() throws RemoteException {
super();
// TODO Auto-generated constructor stub
}
private static final long serialVersionUID = 1L;
public String test(String str) throws RemoteException {
// TODO Auto-generated method stub
return "远程server上的打印方法被调用--------->> :" + str;
}
}
3/4:
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
public class Server {
public void serverStart() {
try {
// 启动RMI服务
LocateRegistry.createRegistry(7890);// rmi端口
PageCollectRMIImpl collectRMIImpl = new PageCollectRMIImpl();
Naming.rebind("//localhost:7890/pageCollectRMI", collectRMIImpl);// 绑定
System.out.println("RMI[PageCollectRMIImpl]启动成功");
} catch (Exception e) {
System.out.println("RMI[PageCollectRMIImpl]启动失败");
e.printStackTrace();
}
}
public static void main(String[] args) {
new Server().serverStart();
}
}
4/4:
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
public class Client {
public static void main(String[] args) {
try {
IPageCollectRMI hello = (IPageCollectRMI) Naming
.lookup("//192.168.1.100:7890/pageCollectRMI");
System.out.println(hello.test("隨便打印"));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
}
}
}