网站大量收购独家精品文档,联系QQ:2885784924

第6章编写客户端程序.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章编写客户端程序

第六章 编写客户端程序;第六章 编写客户端程序;基本知识;请求;Request接口;调用类型;选择调用类型;编写客户程序——静态;public class Client(){ public static void main(String[] args){ org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null); org.omg.CORBA.Object manager = ((com.inprise.vbroker.orb.ORB) orb).bind( “BankPOA”,”BankManager”.getBytes(),null,null); org.omg.CORBA.Request requestOpen = manager._request(“open”); String name = args.length0?args[0]:”David”;. requestOpen.add_in_arg().insert_string(name); requestOpen.set_return_type(orb.get_primitive_tc(org.omg.CORBA.TCKind.tk_objeref)); requsetOpen.invoke(); org.omg.CORBA.Object account = requestOpen.result().value().extract_Object(); org.omg.CORBA.Request requestBalance = account._request(“getBalance”); requestBalance.set_return_type(orb.get_primitive_tc(org.omg.CORBA.TCKind.tk_float)); requestBalance.invoke(); float bal=requestBalance.resutl().value().extract_float(); System.out.println(“帐户”+name+”的余额为”+bal); } };2 动态调用机制;动态调用机制;基本接口;动态调用接口;伪对象;CORBA::ORB;CORBA::Object(对象引用);CORBA::Request(操作请求);NVList(参数与返回值);动态调用过程;clien;一:查询接口定义信息 1 客户调用目标对象中的get_interface操作。调用后,客户得到一个存放在接口库中的InterfaceDef对象,从而获得目标对象的接口描述信息;二:寻找操作的描述 2 以InteraceDef对象作为接口库导航的入口点,找出有关的接口对象以及它所支持的操作。(通过调用InterfaceDef的lookup_name操作,得到OperationDef对象) 3 调用OperationDef对象中的describe(),获得需调用的操作的完整描述,即操作的全部IDL定义;三. 准备参数列表 4 调用ORB接口中用于动态调用的create_list方法,创建一个空闲的参数列表,即Nvlist对象 5 调用Nvlist上的add_item(),将各个请求参数逐一填入参数列表中;四。创建请求对象 6 调用目标对象上的,从CORBA::Object接口继承的create_request操作,构造一个请求对象。在请求中指出操作名,参数和返回结果参数 ;五。调用已建立的请求 7 调用ORB::Request对象中的invoke操作,发起对请求的调用 六 善后 8 执行ORB::Request对象的delete操作,释放请求对象和相关的内存空间 9 调用ORB::NVlist对象上free操作,释放列表结构的相关空间;public class Client(){ public static void main(String[] args){ org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null); org.omg.CORBA.Object manager = ((com.inprise.vbroker.orb.ORB) orb).bind( “BankPOA”,”BankManager”.getBytes(),null,null); org.omg.CORBA.Request requestOpen = manager._request(“open”);

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档