ICE的插件使用

1、实现插件接口    local interface Plugin     {        void initialize();        void destroy();    };        extern "C"    {        ICE_...

2012-03-30 22:55:21

阅读数:2195

评论数:1

ICE的日志和统计接口

1、获取日志对象:    virtual LoggerPtr getLogger() const; 2、日志对象提供的方法:    local interface Logger    {         void print(string message);         void ...

2012-03-30 22:12:06

阅读数:2684

评论数:1

ICE的proxy使用

1、在ICE的客户端获取代理的方式如下:    A、Ice::ObjectPrx p = communicator->stirngToProxy("MyProxy:tcp -h 10.0.0.1 -p 12345");    B、Ice::ObjectPrx p = ...

2012-03-28 22:46:32

阅读数:4671

评论数:0

ICE运行环境备忘三

1、ICE是一个多线程的运行环境,每个communicator通信器中都有一个Leader-Follower的线程池负责处理客户端的服务请求,    ICE的线程池有一系列的属性用以来控制线程池的运行,主要包含如下内容:    ThreadPoolName.Size          = 3 ...

2012-03-28 22:45:34

阅读数:5469

评论数:0

linux环境下归档两个静态库为一个静态库

如果在你的项目中有两个工程,分别编译成liba.a和libb.a,这时如果要开放一个新的api库给客户端使用libc.a 但是在libc.a中依赖了liba.a和libb.a,那么发布的时候不可能发布三个库,只能发布一个库libc.a,那么就需要 将liba.a和libb.a打入到libc.a...

2012-03-27 12:23:07

阅读数:947

评论数:0

ICE运行环境备忘二

1、需要理解ICE运行环境对客户端请求的调用分派语义,即当一个请求到来时,如何查找到对应到servant服务对象进行消息处理    A、在ASM 中查找该标识。如果ASM 有这样一个条目,就把请求分派到对应的servant。    B、如果到来的对象标识的范畴不是空的,就查找针对该范畴注册的s...

2012-03-25 17:08:28

阅读数:1312

评论数:1

ICE运行时环境备忘一

1、ICE运行环境的唯一句柄Communicator对象,其用来管理ICE运行环境下所有对象资源,包含但不限于:    A、客户端线程池,主要用来进行AMI方法的回调接口调用,防止环形调用产生的死锁    B、服务器端的线程池,主要用来接收和处理客户端的接口调用请求    C、ICE运行环境...

2012-03-25 14:50:32

阅读数:3533

评论数:0

ICE的属性设置

1、ICE的属性即"name=value"值,具体的name范畴可以见后续描述。可以在程序中设置属性值到ICE的运行环境中    但一定要注意在Communicator::Initialize方法调用之前设置好值,在之后设置的值会被ICE的运行环境忽略 2、属性名不能包含如...

2012-03-24 22:38:34

阅读数:3071

评论数:0

ICE的工具集基本功能

1、为了能够生成一个全局的唯一标示,主要用来在adapter注册servant的时候需要ID,可以通过该方法获得一个     string IceUtil::generateUUID() 2、工具集提供了两个字符集的转换函数,主要用于unicode和utf8之间的转换     wstring...

2012-03-24 16:06:08

阅读数:5900

评论数:0

利用rational rose做c++的逆向工程之备忘

1. ANSI C++(标准C++)逆向工程(Reverse Engineer)使用标准C++逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reve...

2012-03-23 19:04:01

阅读数:2321

评论数:1

ICE的服务器对象实现

1、需要增加一个类继承至生成的接口类,并实现接口类的虚方法。 2、创建实现类的对象 3、调用adpater的add方法将创建的对象绑定到adapter中,并传入一个全局唯一标示符,该唯一标示可以通过如下方法生成:    adapter->add(hello, communicator(...

2012-03-22 22:57:10

阅读数:1670

评论数:0

slice的AMD方法实现与调用

借由一个interface来说明amd方法的使用: interface MyInterface { int NormalOp(string name, out long l); ["amd"] int AmdOp(string name, out long l); }...

2012-03-22 22:55:45

阅读数:1341

评论数:0

ice环境初始化和slice方法调用

1、客户端环境调用 #include int main(int argc, char* argv[]) {     Ice::CommunicatorPtr ic;    try    {        ic = Ice::initialize(argc, argv);    ...

2012-03-21 22:17:48

阅读数:2666

评论数:0

ICE的AMI方法调用

从一个例子来说明AMI方法的使用,例如如下的接口定义: interface MyInterface  {     int op(double d, string s, out int i, out long l); }; 其映射生成的方法如下: class MyInterfac...

2012-03-21 19:23:07

阅读数:2357

评论数:0

slice的c++映射

1、Slice标识符映射到相同的C++标识符。(尽量不要使用与语言相关的标示符) 2、Slice模块映射到C++名字空间。 3、Slice基本数据的bool和string映射到C++的bool和std::string,其他均映射到ice的跨平台数据类型 4、slice枚举映射到c++的枚举 ...

2012-03-21 19:22:05

阅读数:4151

评论数:0

ICE的slice定义注意事项

一、源文件规则 1、文件扩展名必须为.ice 2、在使用#include来包含其他的ice定义文件时,只能使用 3、每个slice定义文件中最好加上#ifndef的宏定义,防止文件的双重包含 4、文件必须是utf-8编码的 二、词法规则 1、slice文件支持c++的单行和多行...

2012-03-21 19:17:01

阅读数:7442

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭