UE4 RPC进行网络同步

news2024/10/6 22:27:36

说明

基于UE本身提供的RPC同步机制
RPC远程过程调用允许客户端或服务器通过网络连接相互发送消息:
使用时需要注意:
1、必须从 Actor 上调用
2、Actor 必须被复制,注意勾选BP中Replicates,或使变量bReplicates = true
在这里插入图片描述

3、注意如果 RPC 是从Client调用并在Server上执行,客户端就必须拥有调用 RPC 的 Actor。
所以在属性同步的地方设置此Actor的Owner,主要用于网络复制,玩家离开交互时Owner置空
在这里插入图片描述
PS:引申:考虑到每一位客户端对该actor接管网络消息所有权都需要SetOwner,可能会导致网络延迟或安全性隐患,此处可以根据实际情况进行优化为通过经过玩家进行RPC同步,如由玩家的component发起。

从Server调用RPC的作用范围
在这里插入图片描述

从Client调用RPC的作用范围

在这里插入图片描述

DS同步处理
一般建议数据全部由DS服务器持有/转发同步,此处由主端玩家进行数据推送同步
可以理解为主端数据变化 -> 同步DS -> 广播给其他所有客户端
PS:在保证性能的前提下,决策/校验更多在server端处理

服务端的处理:定义自定义事件,注意勾选同步范围,代表客户端同步在仅Server运行
在这里插入图片描述

脚本或蓝图可以主动调用该事件,服务器收到该结构体,广播给其他客户端
在这里插入图片描述

客户端的处理:
在这里插入图片描述

可以自定义函数可由脚本重写,来处理收到消息后的逻辑
在这里插入图片描述

Struct可由各业务自定义,灵活使用
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1813210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘独孤信印章:多面性与历史地位的双重传奇

2024高考已经结束,小编回顾前几年高考试卷时发现在2019年全国高考II卷中,一枚古老的印章被做成了一道数学题。这枚印章不仅因其独特的多面体设计而引人注目,更因为其背后所代表的历史人物——独孤信,而成为了热门的话题。那么&…

pip切换至国内镜像超简单方法

新配置的python环境,pip安装包超时 这里给出最简单配置国内镜像的方法 这里将服务器地址切换为国内清华镜像,具体执行的命令如下: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 执行完,看到上面提…

【C++ 类和对象】初始化列表

文章目录 1. 构造函数体赋值2. 初始化列表🔍 1. 构造函数体赋值 🍎① 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:// 构造函数 Date(int year, int month, int day) {_y…

面试题:如何避免索引失效?

(1) 范围条件查询 (2) 不要在索引上使用函数运算, 否则索引也会失效. 比如在索引上使用切割函数, 就会使索引失效. (3) 字符串不加引号, 造成索引失效. (4) 尽量使用索引覆盖, 避免 select *, 这样能提高查询效率. 如果索引列完全包含查询列, 那么查询的时候把要查的列写出来…

一文教你如何实现并发请求的失败自动重试及重试次数限制

需求 在并发接口请求的时候,能够自动对失败的请求进行重发尝试(超过指定重试次数则不再重试),并将最终的结果返回(包含每个请求是否成功、返回结果) 核心思路 代码实现 使用案例 为了演示我们代码的最终实现效果&a…

期权交易单位是什么?期权懂新手必看!

今天带你了解期权交易单位是什么?很多对期权还不太熟悉的朋友,不知道期权的单位是什么,下面小编就来告诉你期权的交易单位到底是什么? 期权交易单位是什么? 50ETF期权的交易单位,用大白话来说,…

从盛世到衰落,历史上八大强国的兴衰与现代地位!

人类文明史悠久,从远古时代至今日,世界舞台上曾经涌现出许多强盛的帝国。它们在自己的黄金时代,曾经无人能敌,不论是在军事、经济还是文化上都独领风骚。然而,无论多么强大的国家也难逃“兴盛必衰”的命运。今天&#…

【文档+源码+调试讲解】精准扶贫管理系统

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了精准扶贫管理系统的开发全过程。通过分析精准扶贫管理系统管理的不足,创建了一个计算机管理精准扶贫管理系统的方案。文章介绍了精准扶贫管理系统的系…

【Week-R3】天气预测,引入探索式数据分析方法(EDA)

文章目录 1. 导入模块2. 导入数据3.探索式数据分析方法(EDA)3.1 数据相关性探索3.2 是否会下雨3.3 地理位置与下雨的关系3.4 湿度和压力对下雨的影响3.5 气温对下雨的影响 4.数据预处理4.1 处理缺损值4.2 构建数据集 5 预测是否会下雨5.1 构建神经网络5.…

JAVAEE值之网络原理(1)_传输控制协议(UDP)、概念、特点、结构、代码实例

前言 在前两节中我们介绍了UDP数据报套接字编程,但是并没有对UDP进行详细介绍,本节中我们将会详细介绍传输层中的UDP协议。 一、什么是UDP? UDP工作在传输层,用于程序之间传输数据的。数据一般包含:文件类型&#xff0…

您对薪资待遇是否满意?没证据怎么办?这样做很可能会补上来!

您对薪资待遇是否满意?没证据怎么办? 这样做很可能会补上来! 您有时可能对自己的工资或福利待遇感到不满意:感到为何我付出的不比别人少,但是工资待遇总是比别人低,是不是觉得很不服气?那么不服…

K8s 卷快照类

卷快照类 卷快照类 这个警告信息通常出现在使用 kubectl 删除 Kubernetes 集群资源时,如果尝试删除的是集群作用域(cluster-scoped)的资源,但指定了命名空间(namespace),就会出现这个警告。 集…

leetcode刷题-二叉树02

代码随想录二叉树part02|102.层序遍历、226.翻转二叉树、101.对称二叉树 102.层序遍历--十题226.翻转二叉树101.对称二叉树 102.层序遍历–十题 代码随想录文档讲解 LeetCode102 图论中的深度搜索和广度搜索分别对应二叉树中的递归遍历和层序遍历。 3/ \9 20/ \15 7返回层序…

ubuntu 20.04禁止自动更新内核驱动、显卡驱动(使用命令行)

本文目录 一、禁止更新内核1.1 查看当前内核1.2 查看安装的内核1.3 根据需求,使用hold参数禁止固定内核1.4 查询被锁定不更新软件包的状态 二、禁止更新显卡驱动2.1 查看安装的显卡驱动2.2 查看详细的详细的显卡信息2.3 禁止显卡驱动更新2.4 查询显卡是否设置成功 前…

记录大三上学期大数据课程设计:基于Hadoop和Spark的中文手写数字实时识别系统

我整理好了两个百度网盘链接,一个是模型文档和数据,一个是镜像,下载、导入虚拟机即可运行。 github地址:Li-Jihong/big-data: 用来记录大三上学期大数据课程设计:基于Hadoop和Spark的中文手写数字实时识别系统 (githu…

c# 二维图形绘制实践

1.等边三角形 1.1 概述 1.2 代码 using System; using System.Drawing; using System.Windows.Forms;public partial class TriangleForm : Form {public TriangleForm(){//InitializeComponent();// 确保窗体大小足够大,以容纳三角形 this.ClientSize new Siz…

计算机网络(1) OSI七层模型与TCP/IP四层模型

一.OSI七层模型 OSI 七层模型是国际标准化组织ISO提出的一个网络分层模型,它的目的是使各种不同的计算机和网络在世界范围内按照相同的标准框架实现互联。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、…

小魔推-短视频矩阵批量创作一键分发同城引流工具

​小魔推是一款短视频营销裂变推广工具,主要服务于想做短视频营销的实体商家,通过BGC、PGC、UGC的打造帮助商家实现流量裂变与转化。 其中,小魔推AI矩阵营销是借助AI技术帮助企业/商家搭建营销矩阵,让商家拥有足够多的账号、足够…

matlab-2-simulink-小白教程-如何绘制电路图进行电路仿真

以上述电路图为例:包含D触发器,时钟CLK,与非门 一、启动simulink的三种方式 方式1 在MATLAB的命令行窗口输入“Simulink”命令。 方式2 在MATLAB主窗口的“主页”选项卡中,单击“SIMULINK”命令组中的Simulink命令按钮。 方式3 从MATLAB…

最小二乘法原理及其代码实现

一、最小二乘法原理 假设目前我们有一些数据,x是输入,y是与之对应的输出。现在想利用这些已有的数据,从中发现出规律,来预测没有出现过的输入会产生什么样的输出。 假设系统为单输入单输出系统,我们想在这个系统里找到…