首页 > 其他 > 详细

rmi简单案例

时间:2015-04-24 19:29:14      阅读:114      评论:0      收藏:0      [点我收藏+]

RMI即远程方法调用,案例步骤

  1. 创建对外接口 继承Remote类

  2. 创建其实现类 实现类需继承UnicastRemoteObject类并实现其接口

  3. 服务端:注册服务端口,并通过rmi链接进行绑定

    1)创建接口对象

    2)通LocalRegistry.createRegisty(port);注册端口服务

    3)通Naming.bing("rmi连接字符串",接口对象);

  4. 客户端:查找服务并执行

    Naming.lookup("rmi连接串")返回其相应的接口对象;

public interface Talk extends Remote{
    public String say() throws RemoteException;
}
public class TalkImpl extends UnicastRemoteObject implements Talk{

	private static final long serialVersionUID = 1L;
        /*因为UnicastRemoteObject 类构造方法显示抛出RemoteException 所以此处必须有个空的构造方法并将异常抛出*/
	public TalkImpl() throws RemoteException {
		super();
	}

	@Override
	public String say() {
		return "hello";
	}
}
public class Server {
	public static void main(String[] args) {
		try {
			Talk talk=new TalkImpl();
			LocateRegistry.createRegistry(8888);
			 //绑定的URL标准格式为:rmi://host:port/name,其中协议名可以省略
			Naming.bind("//localhost:8888/talk", talk);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
public class Clinet {
	public static void main(String[] args) {
		try {
			Talk talk=(Talk)Naming.lookup("//localhost:8888/talk");
			System.out.println(talk.say());
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (NotBoundException e) {
			e.printStackTrace();
		}
	}
}

最后先启动 Server端 而后启动 Client端 就会输出 hello  

本文出自 “丿依然灬淡漠” 博客,请务必保留此出处http://startrun.blog.51cto.com/10157079/1638030

rmi简单案例

原文:http://startrun.blog.51cto.com/10157079/1638030

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!