- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第三章 网络与通信 * 请求-回应式通信(远程过程调用) 在客户/服务器模型中,客户进程谋取服务的手段是向服务器发出一个服务请求。服务器接到请求后,启动某个过程完成所需的服务,然后向客户返回一个回应。在接到回应之前,客户进程一直等待在那里,即便有的客户进程并不要求服务器返回结果,它也必须等待,以防万一回应是一个出错报告。人们发现这种请求-回应式通信在语义上非常接近传统的局部过程调用(LPC:Local Procedure Call)语义,如果把客户进程当成调用者,把传送的请求当作调用参数,把服务器提供的相应服务当成被调用的过程,把回应当作返回值,则我们可以完全隐蔽消息传送,用一种高级的用户界面实现请求-回应式通信,这个思想便是著名的远程过程调用(RPC: Remote Procedure Call). 第三章 网络与通信 * 局部过程调用实例 main(){ char cip[] = “Buubdl!bu!ebxo”; /* cipher*/ int key = 1;/* secret key */ int len = decrypt(cip, key); /* LPC */ /* other processing */ } int decrypt(char * s, int key){ /* decryption */ int i = 0; while( *s) { *s -= key; i++; s++;} return i; } 栈 栈 cip -Buubdl!bu!ebxo len - ? key - 1 栈 cip -Attack at dawn len - 14 key - 1 Return address i - 0 s - main.cip key - 1 cip -Buubdl!bu!ebxo len - ? key - 1 调用后 调用前 LPC 过程 调用 返回 第三章 网络与通信 * 按值调用/按指引元调用问题 异构计算机数据内部表示问题(字节排序) 远程调用语义问题:不同的通信可靠性措施会导致不同的RPC语义 远程过程调用问题 第三章 网络与通信 * 重发请求:如果超时(timeout)尚未接到回应,则重新发送调用消息。如果若干次重发后仍无回应,则认为远程服务器出了故障。 副本过滤:如果采用重发技术,服务器一端有可能接收到同一次调用的多个消息副本,于是服务器应该把多余的副本删除掉。 重发回应:当服务器已经完成一次调用,而发现回应消息可能丢失时,只需将执行后的结果重新发送给客户,无需再次调用该过程。 远程过程参数传递 第三章 网络与通信 * 远程过程语义 重发请求 副本过滤 重发回应 RPC语义 否 否 否 或许 是 否 否 至少一次 是 是 否 或许一次 是 是 是 至多一次 第三章 网络与通信 * 远程过程调用 客户程序 客户存根 局部调用 绑定请求 接收绑定 参数集结 发送消息 接收消息 结果还原 返回结果 服务器存根 服务器过程 执行过程 返回结果 接收消息 参数还原 局部调用 结果集结 发送结果 绑定服务器 接收消息 注册/查询 返回结果 (1) (0) (2) (5) (3) (4) (7) (6) (8) 第三章 网络与通信 * 远程过程调用步骤(1) (0)我们把这个步骤编号为0是因为它并不从属于某个RPC,而仅需在服务器生成这种RPC服务时向绑定服务器注册一次。绑定服务器接收到服务注册请求后便将其记录在自己的数据库中。 (1)这才是一次RPC的第一个步骤。当客户程序发出的LPC后,控制被转移到客户存根子程序。 (2)客户存根向绑定服务器发出请求,询问提供这种RPC的服务器地址。绑定服务器检索自己的数据库,把找到的服务器地址回送给客户存根。 (3)客户存根接收到服务器地址后,就要进行参数转换(如果客户/服务器分属异构计算机的话) ,把转换好的参数打入消息包,这种处理过程称之为参数集结(parameter marshalling)。然后,客户存根把消息(通过消息传送协议) 传递给远程服务器。
您可能关注的文档
- 南华大学电气工程学院电子测量技术课件 第9章.ppt
- 南华大学电气工程学院电子测量技术课件 第10章.ppt
- 南华大学电气工程学院电子电路设计与仿真课件第1章 NI Multisim 10系统(1).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第1章 NI Multisim 10系统(2).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第1章 NI Multisim 10系统(3).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(1).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(2).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(3).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(4).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第2章 晶体管放大器电路(5).ppt
- 2024年爱国心报国情强国志征文 .pdf
- 2024中国养护维修行业发展潜力分析及投资方向研究报告.docx
- 2024中国生物信息技术市场竞争态势及投资规划建议报告.docx
- 2024中国核污染市场竞争态势及投资战略规划研究报告.docx
- 2024年七年级生物教案生物圈 .pdf
- 2024全球未来科技大会-张毅《2024下半年中国新经济产业创新发展趋势报告》.docx
- 2023年教科版小升初科学试卷附完整答案(考点梳理) .pdf
- 2024中国手机产业园区行业竞争格局分析及投资战略咨询报告.docx
- 2024年一级注册建筑师之建筑结构押题练习试卷B卷附答案 .pdf
- 2024年现场安全核查一票否决事项(三篇) .pdf
最近下载
- 2024年全国中医医师定期考核中医专业理论知识考试题库及答案(共五套).pdf VIP
- 导游员(讲解员)大赛题库及答案(共500道).doc
- 18J820 《装配式住宅建筑设计标准》图示.pptx VIP
- 北京师大附中2023-2024学年下学期初中八年级期中考试语文试卷(含答案).pdf VIP
- 成功八步-课件.ppt
- 双重预防机制“双重”预防机制建设工作总结3篇.pdf
- 2024年中级经济师《经济基础》真题及答案(3套).pdf VIP
- 氧化钼球项目评估报告.pdf VIP
- 2016-2017广州市黄埔区七年级上学期期末数学试题.doc VIP
- 2020新部编版语文五年级下册背诵内容.pdf
文档评论(0)