- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、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”);
您可能关注的文档
最近下载
- 常见色票、手册、单据及台账填写作业指导书(一).pdf VIP
- 烧伤患者护理查房PPT课件.pptx VIP
- 2025年江苏高考地理试卷真题及答案详解(精校打印版).pdf VIP
- 尿毒症合并心衰的护理.pptx
- 蔬菜西甜瓜种子生产技术 瓜类种子生产技术、种子生产技术 西甜瓜杂交授粉技术..pptx VIP
- 前期物业服务投标方案493页.doc VIP
- 个人简历——【标准模板】.doc VIP
- xxx水电站工程项目建设管理规划【参考】.doc VIP
- 江苏省南通市如皋中学2024届高三下学期高考适应性考试(三)(3.5模)数学试题(含答案解析).docx
- 安全生产规章制度和劳动纪律.docx VIP
文档评论(0)