版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章编写客户端程序山东大学计算机科学与技术学院基础技术教学部第六章编写客户端程序1第六章编写客户端程序基本知识DIIDSI接口库上下文山东大学计算机科学与技术学院第六章编写客户端程序2基本知识山东大学计算机科学与技术学院基础技术教学部基本知识3请求请求:是一个CORBA伪对象,与一个请求对象相关联的信息包括目标对象引用,操作名字,0或多个参数,可选的上下文,以及用于存放返回结果或异常信息的环境封装一个请求有两种格式静态:请求对象由IDL桩隐式发送动态:显式创建一个请求对象,选择一种通信方式发送并获取响应结果,由接口Request描述;本章关注的部分山东大学计算机科学与技术学院请求4Request接口定义了对一个CORBA对象的某一操作的一次调用请求调用一个操作之前必须首先获取目标对象引用见P140山东大学计算机科学与技术学院Request接口5调用类型静态调用:客户程序在编译前就知道DL接口信息动态调用编写客户程序时尚未确定IL接口类型运行时利用接口库服务提供的信息创建一个请求对象大部分任务是建立请求对象,而不是调用过程本身山东大学计算机科学与技术学院调用类型6选择调用类型简单性DI需由程序员手工完成IDL桩所完成的任务灵活性调用性能通信方式SI支持同步,单向DI支持三种:同步,单向,延迟同步小结:能用SI则用SI山东大学计算机科学与技术学院选择调用类型7编写客户程序—静态publicClpublicstaticvoidmain(string[]args)8m0A全桥与象3m2mBankAccountManagermanagerBank.AccountManagerHelperbind(初始化ORB岁2湖影产座员一器是的来户辨dzeneSystem.out1rint1n1(ame+帐户余额为sy9tepn七1n(“存数0元后,余额为”绑定到服务对象if(accountwithdrawSystem.out,pint1n(“取新600元后,余额为”+account.getBalance1elsef;System,out,pint1n("额不足600元,取就失败,余额保样不变客户程序Chent.ava调用服务对象提供的服务山东大学计算机科学与技术学院编写客户程序—静态8编写客户程序—动态初始化orgassclienteroid-mainstringHargsorg:omgCoRBAORBorb=org。omgCORBA。Rlit(args,null);,莠取帐户管理员的通用对象org.omg.cORBAobjectmanager=((com.inprisebrokerorb.ORB)orb).bind(BankPOA","BankManager"getBytes(.nuu)创建一个调用managerfijopen(棵操作org.omgCORBARequestrequestopen=manager.request("open");设置请求的实际参数Stringnameargslength>0?args[O]:"David"requestopen.add_in_argoinsert_string(name)requestopenset_return_type(orb.get_primitive_tc(org.omgCORBA.TCKindtk_opjeref));requsetopeninvoke0;←以同步通信方式发送请求org.omgcoRBAObjectaccount=requestopenresult(value().extract_Object(;g.omgCORBARequestrequestBalance=account._request("getBalance"):requestBalanceset_return_type(orb.get_primitive_tc(org.omgCORBATCKindtk-float)requestBalanceinvokedfloatbal=requestBalanceresutlovalue(.extract_float提取返回结果System.out.printin(“帐户”+name+"的余额为”+ba山东大学计继续以D方式调用aco的getBalance()方法编写客户程序—动态92动态调用机制山东大学计算机科学与技术学院基础技术教学部2动态调用机制10编写客户端程序课件11编写客户端程序课件12编写客户端程序课件13编写客户端程序课件14编写客户端程序课件15编写客户端程序课件16编写客户端程序课件17编写客户端程序课件18编写客户端程序课件19编写客户端程序课件20编写客户端程序课件21编写客户端程序课件22编写客户端程序课件23编写客户端程序课件24编写客户端程序课件25编写客户端程序课件26编写客户端程序课件27编写客户端程序课件28编写客户端程序课件29编写客户端程序课件30编写客户端程序课件31编写客户端程序课件32编写客户端程序课件33编写客户端程序课件34编写客户端程序课件35编写客户端程序课件36编写客户端程序课件37编写客户端程序课件38编写客户端程序课件39编写客户端程序课件40编写客户端程序课件41编写客户端程序课件42编写客户端程序课件43编写客户端程序课件44编写客户端程序课件45编写客户端程序课件46编写客户端程序课件47编写客户端程序课件48编写客户端程序课件49编写客户端程序课件50编写客户端程序课件51编写客户端程序课件52编写客户端程序课件53编写客户端程序课件54第六章编写客户端程序山东大学计算机科学与技术学院基础技术教学部第六章编写客户端程序55第六章编写客户端程序基本知识DIIDSI接口库上下文山东大学计算机科学与技术学院第六章编写客户端程序56基本知识山东大学计算机科学与技术学院基础技术教学部基本知识57请求请求:是一个CORBA伪对象,与一个请求对象相关联的信息包括目标对象引用,操作名字,0或多个参数,可选的上下文,以及用于存放返回结果或异常信息的环境封装一个请求有两种格式静态:请求对象由IDL桩隐式发送动态:显式创建一个请求对象,选择一种通信方式发送并获取响应结果,由接口Request描述;本章关注的部分山东大学计算机科学与技术学院请求58Request接口定义了对一个CORBA对象的某一操作的一次调用请求调用一个操作之前必须首先获取目标对象引用见P140山东大学计算机科学与技术学院Request接口59调用类型静态调用:客户程序在编译前就知道DL接口信息动态调用编写客户程序时尚未确定IL接口类型运行时利用接口库服务提供的信息创建一个请求对象大部分任务是建立请求对象,而不是调用过程本身山东大学计算机科学与技术学院调用类型60选择调用类型简单性DI需由程序员手工完成IDL桩所完成的任务灵活性调用性能通信方式SI支持同步,单向DI支持三种:同步,单向,延迟同步小结:能用SI则用SI山东大学计算机科学与技术学院选择调用类型61编写客户程序—静态publicClpublicstaticvoidmain(string[]args)8m0A全桥与象3m2mBankAccountManagermanagerBank.AccountManagerHelperbind(初始化ORB岁2湖影产座员一器是的来户辨dzeneSystem.out1rint1n1(ame+帐户余额为sy9tepn七1n(“存数0元后,余额为”绑定到服务对象if(accountwithdrawSystem.out,pint1n(“取新600元后,余额为”+account.getBalance1elsef;System,out,pint1n("额不足600元,取就失败,余额保样不变客户程序Chent.ava调用服务对象提供的服务山东大学计算机科学与技术学院编写客户程序—静态62编写客户程序—动态初始化orgassclienteroid-mainstringHargsorg:omgCoRBAORBorb=org。omgCORBA。Rlit(args,null);,莠取帐户管理员的通用对象org.omg.cORBAobjectmanager=((com.inprisebrokerorb.ORB)orb).bind(BankPOA","BankManager"getBytes(.nuu)创建一个调用managerfijopen(棵操作org.omgCORBARequestrequestopen=manager.request("open");设置请求的实际参数Stringnameargslength>0?args[O]:"David"requestopen.add_in_argoinsert_string(name)requestopenset_return_type(orb.get_primitive_tc(org.omgCORBA.TCKindtk_opjeref));requsetopeninvoke0;←以同步通信方式发送请求org.omgcoRBAObjectaccount=requestopenresult(value().extract_Object(;g.omgCORBARequestrequestBalance=account._request("getBalance"):requestBalanceset_return_type(orb.get_primitive_tc(org.omgCORBATCKindtk-float)requestBalanceinvokedfloatbal=requestBalanceresutlovalue(.extract_float提取返回结果System.out.printin(“帐户”+name+"的余额为”+ba山东大学计继续以D方式调用aco的getBalance()方法编写客户程序—动态632动态调用机制山东大学计算机科学与技术学院基础技术教学部2动态调用机制64编写客户端程序课件65编写客户端程序课件66编写客户端程序课件67编写客户端程序课件68编写客户端程序课件69编写客户端程序课件70编写客户端程序课件71编写客户端程序课件72编写客户端程序课件73编写客户端程序课件74编写客户端程序课件75编写客户端程序课件76编写客户端程序课件77编写客户端程序课件78编写客户端程序课件79编写客户端程序课件80编写客户端程序课件81编写客户端程序课件82编写客户端程序课件83编写客户端程序课件84编写客户端程序课件85编写客户端程序课件86编写客户端程序课件87编写客户端程序课件88编写客户端程序课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动应聘合同范例
- 企业会演出合同范例
- 培训合同模板豆丁
- 大厨用工合同模板
- 土地预流转合同模板
- 代销合同范例同
- 农村农业托管合同范例
- 吊顶劳务分包合同范例
- 代招生合同范例
- 公墓养护合同范例版
- 发现问题和解决问题课件
- 电动滑板车行业报告
- 大班数学活动等分课件
- 牙体牙髓病教学设计
- 2024年河南省机场集团有限公司招聘笔试参考题库含答案解析
- 2024年人民法院出版社有限公司招聘笔试参考题库含答案解析
- 2023-2024学年深圳市初三中考适应性考试语文试题(含答案)
- 人工智能课程中小学生的创新思维培养
- 血液透析高磷的护理查房课件
- 2024年成都交通投资集团招聘笔试参考题库含答案解析
- Unit 3 Sports and Fitness Reading and Thinking 说课稿-2023-2024学年高中英语人教版(2019)必修第一册
评论
0/150
提交评论