ice proxy

Proxy

Proxy是ICE客户端里的概念。客户端通过Proxy访问服务器端上的Object,通过Proxy调用服务器端Object上提供的接口。在客户端上一般有类似以下代码:

    Ice::ObjectPrx base = ic->stringToProxy("SimplePrinter:default -p 10000");
    // Printer Proxy
    PrinterPrx printer = PrinterPrx::checkedCast(base);
    printer->printString("Hello World!");

Proxy又分为几种,包括:

Direct Proxy

Direct Proxy,这里的direct意指这个proxy访问的object时,是否携带了地址(EndPoint)信息,例如上面例子中SimplePrinter:default -p 10000就是一个地址。

Indirect Proxy

Indirect Proxy相对Direct Proxy而言,其没有具体的地址,仅仅是一个符号。通常包含两种形式:

  • SimplePrinter
  • SimplePrinter@PrinterAdapter

为了获取真正的地址,客户端需要一个定位服务(location service)来获取这个符号对应的地址。ICE中提供了一些默认的服务程序,IceGrid就是其中之一,而IceGrid的作用就包括定位具体的地址,即翻译符号地址到具体的地址。

这里Indirect Proxy可以看作一个域名,而Direct Proxy可以看作是IP地址。Indirect Proxy使用时,就需要借助DNS翻译得到域名对应的IP地址。

Fixed Proxy

由于Proxy是用于与服务器端的Object通信的,客户端借助Proxy来访问服务器端的Object,所以Proxy通常都会对应一个真实的网络连接。在ICE中,一般的Proxy于网络连接(Connection)实际上是没有太大关联的。一个Proxy可以没有Connection,也可以在建立这个Connection后又断开之。但是,ICE提供了一种特殊的Proxy,Fixed Proxy,这种Proxy紧密地与一个Connection绑定在一起,其生命周期被强制关联起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值