CORBA 中的 any 类型与回调机制详解
1. any 类型概述
any 类型在编程中有着重要的应用,它允许在运行时处理不同类型的数据。要有效使用 any 类型,需要对 CORBA 类型代码有一定的了解。类型代码的相关方面包括:
- 类型代码常量 :这些常量用于标识不同的数据类型,在处理 any 类型时起到关键的标识作用。
- 类型代码比较 :通过比较类型代码,可以判断 any 类型中存储的数据类型是否符合预期。
检查 any 类型的内容可以通过查看其 type() 字段来轻松实现。不过,目前 any 类型的使用通常限制在有存根代码支持其包含的数据类型的情况下。对于一些需要在没有存根代码时操作 any 内容的应用,可以使用 CORBA 提供的 DynamicAny 模块。
2. 回调机制简介
在许多简单的 CORBA 应用中,客户端和服务器的角色有明显的区分。服务器通常处于被动状态,响应客户端的调用请求;而客户端则主动发起对服务器的调用。但在某些情况下,角色需要反转。例如,在股票价格监控系统中,服务器需要主动通知感兴趣的客户端最新的股票价格变动。这种系统要求调用方向反转,即服务器调用客户端。客户端需要实现并实例化一个 CORBA 对象,即回调对象,来接收这些调用。此时,客户端在很多方面具有了服务器的特征,成为一种混合体。
3. 客户端实现回调对象的步骤
实现回调对象的过程与在服务器中实现常规 CORBA 对象类似,具体步骤如下:
1. 实现回调 IDL 接口
超级会员免费看
订阅专栏 解锁全文
2414

被折叠的 条评论
为什么被折叠?



