标签:表格 特定 ext 服务器端 官方 输出 code str proc
RPC
一、Remote Procedure Call:远程程序调用
二、一个进程调用另外一个进程上的函数
由于“Server-shoot”方法被标记为“在服务器上运行”,所以尽管是在第二个窗口(客户端)开火,输出的信息是:Server:准备射击,表明这是在服务器上运行。
在服务器上“Server-shoot”方法又调用调用了“MutiCast-Shoot”方法,“MutiCast-Shoot”(被标记为“多路传送”),所以服务器会通知所有客户端都去执行这个方法。
结果就显示:Server:全体射击和Client 1:全体射击。
因为没有勾选“运行专用服务器”,因此第一个窗口同时是服务器和客户端,“多路传送”的时候也把消息传送给也身兼客户端的自己,因此就会显示“Server:全体射击”
二、远程调用Actor拥有权。
下面的表格根据执行调用的 actor 的所有权(最左边的一列),总结了特定类型的 RPC 将在哪里执行。
Actor 所有权 |
未复制 |
|
|
|
---|---|---|---|---|
Client-owned actor |
在服务器上运行 |
在服务器和所有客户端上运行 |
在服务器上运行 |
在 actor 的所属客户端上运行 |
Server-owned actor |
在服务器上运行 |
在服务器和所有客户端上运行 |
在服务器上运行 |
在服务器上运行 |
Unowned actor |
在服务器上运行 |
在服务器和所有客户端上运行 |
在服务器上运行 |
在服务器上运行 |
Actor 所有权 |
未复制 |
|
|
|
---|---|---|---|---|
Owned by invoking client |
在执行调用的客户端上运行 |
在执行调用的客户端上运行 |
在服务器上运行 |
在执行调用的客户端上运行 |
Owned by a different client |
在执行调用的客户端上运行 |
在执行调用的客户端上运行 |
丢弃 |
在执行调用的客户端上运行 |
Server-owned actor |
在执行调用的客户端上运行 |
在执行调用的客户端上运行 |
丢弃 |
在执行调用的客户端上运行 |
Unowned actor |
在执行调用的客户端上运行 |
在执行调用的客户端上运行 |
丢弃 |
在执行调用的客户端上运行 |
关于RPC远程调用更多信息查看官方文档:http://api.unrealengine.com/CHN/Gameplay/Networking/Actors/RPCs/index.html
标签:表格 特定 ext 服务器端 官方 输出 code str proc
原文地址:https://www.cnblogs.com/timy/p/9888868.html