1、B/S结构中,从服务器端S是无法主动向客户端C进行“推”操作的,但是rmi可以, 客户端lookup到一个服务器端的远程对象后,可以向服务器端注册一个存在于客户端上的远程对象,从而使得服务器端能够主动向客户端“推”信息,最典型的就是从服务器端诸个更新客户端界面的的某些状态,注意,这是服务器端发起的。我猜想JMS大概就是根据这个原理来做的。
2、rmic有2个参数 -v1.1 和 -v1.2。
如果带参数-v1.1则生成stub和skel;
如果带参数-v1.2只生成stub。都可以用的,不用担心。
3、server_ stub.class是RMI服务在本地机器上的副本,叫做存根, 客户端是通过它来和服务器建立连接,所以需要把它和client下面的所有.class文件一起安装到客户机。而server_ skel.class是负责在服务器端等候连接,叫做框架, 它将代表服务器与server_stub.class进行连接,将它和server下面的所有.class文件一起安装到服务器端。jdk1.2以上版本内置了框架,不需要自行生成,但是我们需要兼容低版本的jdk。
4、Q:RMI和CORBA中的远程方法是在哪儿执行的?
A: 对于RMI来说,Client端的远程方法由存根程序执行;Server端的远程方法由框架程序执行。