当前位置: 首页 > news >正文

UE4 RPC进行网络同步

说明

基于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.lryc.cn/news/375635.html

相关文章:

  • HTML(6)——表单
  • Go基础编程 - 08 - 结构体
  • 基于Verilog表达的FSM状态机
  • 给一家银行做的数据中台系统架构方案书(DAMM)招投标用,虽然有内定潜规则,但是方案都是要的,不一定就是价格低就能中标,毕竟是上百万以上的单子
  • 【设计模式深度剖析】【6】【行为型】【中介者模式】
  • 金额转换但是接收对象类型未知时,金额转换公共方法囊括当对象为String\Integer\Number三种类型的转换方法
  • Commons-Collections篇-CC2链分析
  • LeetCode 48.旋转图像
  • Navicat导入json文件(json文件数据导入到MySQL表中)
  • 避雷!又6本期刊被On Hold!ELSEVIER旗下影响因子高达10+SSCI上榜
  • CSS 列表样式(ul)全面解析
  • Python 库PySpark,一个超级强大的数据处理引擎
  • UE4_材质_雨滴涟漪效果ripple effect_ben教程
  • mac免费的ntfs软件哪个好 MAC读取NTFS硬盘格式
  • 轻兔推荐 —— who.cx
  • 建筑幕墙甲级设计资质:申请条件与评分标准
  • easy-es Map类型字段序列化问题:Unexpected character (‘n‘ (code 110)):
  • [Vue3:组件通信)子组件props接收和watch监听,emit发送父组件 (添加修改设置成绩,添加、删除选课记录)
  • 【网络协议栈】IGMP
  • Python机器学习完整流程:从数据清洗到推理落地
  • App上架和推广前的准备
  • 一季度直播6000场,同比增长60%,遥望科技透露重要信息
  • 电商API接口是什么意思?有什么作用?
  • Python爬虫实战案例之——MySql数据入库
  • 游戏中插入音效
  • Redis缓存设计之常见问题及解决方案
  • 简单的线程池示例
  • IT入门知识第三部分《软件开发》(3/10)
  • 卫星通讯助力船舶可视化监控:EasyCVR视频汇聚系统新应用
  • gcn+tcn+transformer入侵检测