社区
Java EE
帖子详情
RMI中的stub的问题?
wendi
2003-12-01 02:30:29
客户机通过RMI调用服务器中的对象,stub是应该在客户机端生成还是在服务器端生成?rmic 是应该在客户端执行还是在服务器端执行?
那位可以大概的介绍一下RMI中的stub和sketelon?
...全文
110
4
打赏
收藏
RMI中的stub的问题?
客户机通过RMI调用服务器中的对象,stub是应该在客户机端生成还是在服务器端生成?rmic 是应该在客户端执行还是在服务器端执行? 那位可以大概的介绍一下RMI中的stub和sketelon?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wendi
2003-12-01
打赏
举报
回复
回:
谢谢!
还有一点就是在实现远程调用时,服务器端包含的扩展了remote接口的接口的类文件.实现了前面接口的类的类文件和最后在服务器端用来绑定对象和名字并通知注册表的类的类文件和所有的stub文件不能包含在服务器的类路径中?这是什么原因?
hutlyx
2003-12-01
打赏
举报
回复
客户端打开套接字连接服务器上特定的端口,查找到正在运行的 注册表,因为注册表本身也是个远程对象,返回注册表远程对象的stub到本地,然后客户端通过stub同服务器通信,执行lookup方法,查找到远程接口,并返回这个远程对象的stub到本地,然后客户端对服务器端的访问完全通过这个stub来执行。
因为对象序列化时传送的只是对象的状态,并没有传送 执行的代码,所以需要将客户端需要找到类定义,先从本地的classpath中查找,如果没有,客户端试图从存储在注册表中的远程对象的codebase中查找。然后从codebase的路径中,下载类定义。当受到所有类定义,stub就开始调用服务器对象的相应方法了。
stub和sketelon分别是客户端和服务器段的代理,stub是个远程对象。都是用rmic在服务器端生成的。客户端访问的时候,就把stub下载到本地,所以都服务器段的调用实际上通过stub来执行。在jdk1.2之后,sketelon已经不用了,你可以把stub反编译了看看,里面是采用的反射来实现的。
apan_bj
2003-12-01
打赏
举报
回复
你自己写的程序,要把客户端与服务器端分开,你将stub文件放在服务器的类路径中有什么用?一起发布还有可能引来不必要的安全隐患。
hutlyx
2003-12-01
打赏
举报
回复
我没有看懂啊!
Java
RMI
_
Stub
:Sister Java
RMI
Skeleton,用于连接服务器和客户端
Java
RMI
_
Stub
Sister Java
RMI
Skeleton,用于连接服务器和客户端服务器 -> 客户端 ->
一个java
RMI
应用实例 构建简单的
RMI
应用
定义一个扩展远程接口(Remote)的接口,这个接口方法将供给客户端调用,该接口
中
的每个方法都必须声明抛出RemoteException。 定义一个实现该接口并扩展了UnicastRemoteObject的类(服务端运行的服务类),这个类将...
第5章 分布式通信之
RMI
掌握Netty的核心组件如BootStrap、EventLoop、Pipeline、Promise、Future等,最后,将带大家完成一个消息推送系统,模拟百万链接性能调优。
JAVA
rmi
教学课件
通过本地、远程透明性的一种架构来完成,即存根(
Stub
)和骨架(Skeleton)。
RMI
在客户机端使用存根,存根就像服务器端代码的代理。客户通过存根在网络上查找所调用的远程对象。从客户机的角度来看,这些存根看起来...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章