首页 > 其他分享 >[Godot] 网络物体的同步

[Godot] 网络物体的同步

时间:2023-01-04 11:00:34浏览次数:42  
标签:Godot 同步 物体 网络 nid rpc 客户端

网络物体的同步方案

服务器

客户端

初始化服务器 初始化客户端
通知游戏开始  

生成网络物体老鼠,分配nid

记录老鼠的资源路径

 
  连接服务器

客户端1连接,创建客户端代理1,

发送客户端连接信息

 

客户端代理1将已存在的网络物体

的nid与资源路径发送给客户端1

(客户端代理处理网络物体的

创建和删除,更新由网络物体

自己进行)

 
 

根据资源路径生成对应网络物体

并且赋予其nid

调用每个网络物体的同步函数,

以便使客户端1上的对于网络物体

状态同步

 
 

相应的网络物体执行对应的rpc

同步状态

网络物体的状态发送变化,

调用rpc

 
  网络物体的rpc被执行,同步状态

客户端代理1检测到由新的网络物体

生成,发送nid与资源路径给客户端1

 
 

根据资源生成相应的网络物体,

赋予nid

调用网络物体的同步函数,以便

客户端1上的对于网络物体状态同步

 
  网络物体的rpc被执行,同步状态

客户端代理1检测到由网络物体被删除

发送其nid给客户端1

 
  根据nid删除对应的网络物体

标签:Godot,同步,物体,网络,nid,rpc,客户端
From: https://www.cnblogs.com/lengblog/p/17024272.html

相关文章

  • Java线程同步总结
    线程同步的关键是保证临界资源访问的原子性和可见性。一般的解决方案是使用volatile(保证可见性、不一定保证原子性)修饰共享变量,或是加锁(直接保证原子性和可见性)进行线程同......
  • element Ui VUE 前端实现同步调用后端接口,并等待响应后,在操作下一步
    我这里是使用文件上传的场景,主要关键字awaitasync进行同步阻塞,然后,就可以在循环中,等待响应后,在进行调用如果不等待,则前端会一次性将循环体遍历完,请求直接占满,导致其......
  • [clickhouse]同步MySQL
    前言clickhouse的查询速度非常快,而且兼容大部分MySQL的sql语法,因此一般将clickhouse作为MySQL的读库。本文提供两种clickhouse同步MySQL的方式clickhouse版本:21.2.4.6......
  • argocd 同步策略--忽略某个配置同步
    背景当我在k8s中用cronhpa+hpa实现定时pod扩容的同时还能兼容平时的hpa弹性伸缩。cronhpa通过修改hpa的minReplicas与maxReplicas,从而实现pod的伸缩。但是,当hpa......
  • Mysql主从同步配置
    一、主数据库的配置1.my.cnf(Linux)/my.ini(Windows)在配置文件参数选项[mysqld]下面添加如下内容log_bin=mysql-binserver_id=1innodb_flush_log_at_trx_commit=......
  • Java同步器之锁的种类
    一、锁的种类在JUC中,大量使用到了锁,而Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。......
  • [Godot] 多人联机小游戏基础导读
    参考项目:【蘩】[Godot教程]局域网联机小游戏制作教程ep6-基本联机功能的制作_哔哩哔哩_bilibili基础知识:远程调用RPC(remoteprocedurecall)RPC的修饰属性(不常用......
  • 基于linux下的时间同步
    时间同步:在服务器端共享时间:vim/etc/chrony.conf29localstratum10开启时间共享功能并设定共享级别这个参数开启后本机不去同步别人的时间到本机22allow172.25.254.0/2......
  • 第十四章《多线程》第5节:线程同步
    ​当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用,达到这个目的的过程叫做同步。如果线程在操作共享资源时没有实现同步,那么很有可......
  • Linux服务器中的时间同步问题
    很多人在进行时间的同步时,仅仅只是用ntpdate修改时间,但这并不是真正的修改了服务器的时间,只是修改了当前date看到的时间,也就是系统时间。在Linux服务器中,掌管时间的一共有......