我定义好了一个接口(IHellow)以及接口的实现类(HellowImpl)以后,我把这个接口利用RMI发布出去。
当我要在客户端里面获取到这个接口的时候,我在客户端的代码里有一句 IHellow h=(IHellow)Naming.lookup("rmi://127.0.0.1:8888/RH");
那这不是意味着 我客户端里也得有一个IHellow的接口吗?
当然,不仅仅是RMI,几乎所有基于接口进行远程调用的技术,客户端都有接口。接口的作用是一种契约,没有房契怎么拿房子。
客户端具有服务器端完全一致的接口类,但是客户端不要服务器端的实现类。否则客户端怎么认识这个东西。
是的,正常的做法是写一个接口,然后服务端对它进行实现,客户端用来调用.
是的,可以是jar包,就是他打好的jar,你复制到lib下就可以,还有救是他直接给你个inteface文件。
RMI标准就是接口,我建议你可以把接口定义类放入platform公共包,然后放入到不同的Client,主要有利于接口标准化。