客户端打开套接字连接服务器上特定的端口,查找到正在运行的 注册表,因为注册表本身也是个远程对象,返回注册表远程对象的stub到本地,然后客户端通过stub同服务器通信,执行lookup方法,查找到远程接口,并返回这个远程对象的stub到本地,然后客户端对服务器端的访问完全通过这个stub来执行。
因为对象序列化时传送的只是对象的状态,并没有传送 执行的代码,所以需要将客户端需要找到类定义,先从本地的classpath中查找,如果没有,客户端试图从存储在注册表中的远程对象的codebase中查找。然后从codebase的路径中,下载类定义。当受到所有类定义,stub就开始调用服务器对象的相应方法了。stub和sketelon分别是客户端和服务器段的代理,stub是个远程对象。都是用rmic在服务器端生成的。客户端访问的时候,就把stub下载到本地,所以都服务器段的调用实际上通过stub来执行。在jdk1.2之后,sketelon已经不用了,你可以把stub反编译了看看,里面是采用的反射来实现的。
因为对象序列化时传送的只是对象的状态,并没有传送 执行的代码,所以需要将客户端需要找到类定义,先从本地的classpath中查找,如果没有,客户端试图从存储在注册表中的远程对象的codebase中查找。然后从codebase的路径中,下载类定义。当受到所有类定义,stub就开始调用服务器对象的相应方法了。stub和sketelon分别是客户端和服务器段的代理,stub是个远程对象。都是用rmic在服务器端生成的。客户端访问的时候,就把stub下载到本地,所以都服务器段的调用实际上通过stub来执行。在jdk1.2之后,sketelon已经不用了,你可以把stub反编译了看看,里面是采用的反射来实现的。
解决方案 »
- 不显示删除回复显示所有回复显示星级回复显示得分回复 java用jxls导出Excel 5000条以上如何提高速度?谢谢!
- hibernate无法初始化
- 流媒体播放的后台怎么做
- java 操作 liunx命令 ‘ 进行转换
- 关于<tiles:insert /> 的用法问题,欢迎大家来讨论一下
- input:file,file.value在firefox里不能获取文件路径了?
- 高手,来帮忙看下,spring事务配置的问题
- 服务器端 授权key实现的方法
- 这个错误捕捉不到
- ssm项目报错
- 100分求weblogic7.0.1的weblogic_sp.jar文件!
- 关于struts的一个简单的问题,请教高手。
谢谢!
还有一点就是在实现远程调用时,服务器端包含的扩展了remote接口的接口的类文件.实现了前面接口的类的类文件和最后在服务器端用来绑定对象和名字并通知注册表的类的类文件和所有的stub文件不能包含在服务器的类路径中?这是什么原因?