- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3D之RPC 幻灯片
RPC Unity3D 数据交互 之 什么是RPC? RPC(Remote Procedure Call)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC使用client/server模型。请求程序是client,而服务提供程序则为server。就像一般的本地过程调用一样,RPC是一个同步操作,直到远程过程结果返回请求程序才可以挂起。尽管如此,使用轻质进程或线程时,它们共享同一地址空间,是允许多个RPC并发执行的。 RPC与Socket 在Java里提供了完整的sockets通讯接口,但sockets要求客户端和服务端必须进行应用级协议的编码交换数据,采用sockets是非常麻烦的。一个代替Sockets的协议是RPC(Remote Procedure Call), 它抽象出了通讯接口用于过程调用,使得编程者调用一个远程过程和调用本地过程同样方便。 RPC是建立在Socket之上的, RPC带来了开发C/S程序的简单可靠的手段,它通过一种叫XDR的数据表达方法描述数据,程序员写伪代码,然后由rpcgen程序翻译为真正的可编译的C语言源代码,再翻译成真正的Client端和Server端程序。 RPC的优缺点 RPC作为普遍的C/S开发方法,开发效率高效,可靠。 但RPC方法的基本原则是--以模块调用的简单性忽略了通讯的具体细节,以便程序员不用关心C/S之间的通讯协议,集中精力对付实现过程。这就决定了RPC生成的通讯不可能对每种应用都有恰当的处理方法。 与Socket方法相比,传输相同的有效数据,RPC占用更多的网络带宽。 RPC是在Socket的基础上实现的,它比socket需要更多的网络和系统资源。但是, 在对程序优化时,程序员虽然可以直接修改由rpcgen产生的令人费解的源程序。但对于追求程序设计高效率的RPC而言,获得的简单性则被大大削弱。 使用RPC前的准备 为了保证服务器和客户端能接收到请求,需要给接收请求的对象添加网络视图组件,具体做法如下:先选中需要接收请求的对象,然后再Unity3D导航栏中选择Component→Miscellaneous→Network View。进行组件的添加之后就能使用RPC来接收网络请求了。 RPC的定义 C#语言要求在接收请求方法的上方添加[RPC]标识(而在JavaScript中为@RPC)。具体做法如下: [RPC] void RequestMessage(string message,NetworkmessageInfo info){ //message 网络请求发送的内容,在这可以对message进行自己的处理 //NetworkMessageInfo 保持了谁发送这个RPC的细节 //打印message和info信息 print(message); Debug.Log(info.sender); } 注:NetworkmessageInfo 前面的参数个数以及参数类型必须与执行RPC时的参数一致 其类型可以为: int 整数 float 浮点数 string 字符串 NetworkPlayer 网络玩家 NetworkViewID 网络视图ID Vector3 三维向量 Quaternion 四元数 RPC的调用 networkView.RPC(RequestMessage,RPCMode.All,Hello world); 参数:参数1:接收消息的方法,接收方法上方必须有[RPC]标识 参数2:发送模式,可以设置发送的对象 模式分为5种: RPCMode.Server:向服务器发送 RPCMode.Others:发送给除自己外,服务器连接的每一个客户端(包含服务器) RPCMode.OthersBuffered:发送给除自己外,服务器连接的每一个客户端(包含服务器),并将数据添加至缓冲区 RPCMode.All:发送给连接到服务器的所有客户端,包含自己和服务器 RPCMode.AllBuffered:发送给连接到服务器的所有客户端,包含自己和服务器,并将数据添加至缓冲区 参数2后面的参数:发送消息的内容和其他等(可以为一个或多个参数) 这些参数必须与调用的方法Reques
您可能关注的文档
最近下载
- 房产税城镇土地使用税政策讲解.pdf VIP
- 《弟子规正版全文-带拼音-完善打印版》.docx VIP
- 新大学日语阅读与写作1东娜练习答案及译文.pptx
- 第19课 法国大革命和拿破仑帝国 课件(共33张PPT).pptx VIP
- 施工现场节假日前安全检查表.doc VIP
- 500kV龙昌Ⅰ、Ⅱ号线直线塔绝缘子单串改双串施工方案.pdf VIP
- 结构优化的群体智能优化算法研究.pdf VIP
- 新视野大学英语(第四版)读写教程1(思政智慧版)课件 B1U1 Section A Fresh start.pptx VIP
- 北京-407EV-标准版-BJ5030XXYVRRC-BEV-407EV纯电动汽车产品使用说明书.pdf VIP
- GB50666混凝土结构工程施工规范.pdf VIP
文档评论(0)