ICE-NODEJS SLICE to JavaScript 客户端接口映射

本文介绍了ICE框架中JavaScript代理接口的使用方法,包括代理接口的生成、请求代理的转换及代理方法的自定义等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


代理接口 Proxy Interfaces in JavaScript
Slice语言定义接口如下:
interface   Simple {
     void   op();
};

Slice编译器会产生下边的客户端代码
var   SimplePrx =   function () { ... }
SimplePrx.prototype.op =   function (__ctx) { ... }

编译器会生成一个代理类型 SimplePrx。一般来说,他的命名规则是 < interface-name >Prx。 如果接口定义在模块M内,则名字需要带上模块名,M. < interface-name >Prx。
SimplePrx中的函数和Slice中的接口名字一样,比如上面的op。 参数__ ctx是ICE运行时用来存储请求信息的,一般情况下,不用理他。
不要去创建 < interface-name >Prx的实例,ICE运行时负责创建代理实例。

请求代理 Down-casting Proxies in JavaScript
var   prx = ...;    // Get a proxy from somewhere...
SimplePrx.checkedCast(prx).then(
     function (proxy)
     {
         if (proxy !==   null )
             // Object supports the Simple interface...
         else
             // Object is not of type Simple...
     },
     function (ex)
     {
         // Handle failure
     });
如果传入的参数prx是Simple类,或者Simple子类的代理,那么checkedCast返回SimplePrx对象的引用。
调用checkedCast的时候,客户端会去连服务器 ,检查服务器是否提供了对应的对象。 可能产生异常 ConnectTimeoutException   or an   ObjectNotExistException
uncheckedCast正好相反,他不会连接服务器,直接返回请求的类型。所以使用unchekckedCast的时候,你一定要确定,服务器支持这种类型的代理。

代理方法 Using Proxy Methods in JavaScript
使用代理的方法,可以对代理进行自定义,比如下边代码,可以得到一个最大超时为10000毫秒的代理。
var   proxy = communicator.stringToProxy(...);
proxy = proxy.ice_timeout(10000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值