天津诚筑说IT教育
4000336002
新闻详情

天津和平区好的游戏开发培训

来源:天津诚筑说IT教育时间:2021/5/19 9:51:52 浏览量:127

天津和平区好的游戏开发培训,小编在这里为大家推荐天津火星时代国内值得信赖的教育机构,专注数字艺术教育26年,30大类线上线下课程,全国各地拥有20家教学中心“一地就学,全国择业”专注cg培训、ui培训、影视后期培训、游戏设计开发培训、室内设计等课程培训,并与人保财险共同推出“教育培训险”,让学员就业,用真实力保障学员就业! 接下来小编为您分享,UE4 UDP是如何进行可靠传输的


当我们上层需要进行 Actor 网络复制或者 RPC 调用时,需要判断当前网络是否饱和,如果是,则不会继续。特别的,如果是重要的 RPC 函数,比如标记了 FUNC_NetReliable 或者 FUNC_NetMulticast,尽管网络饱和,也会发送。


网络连接的函数 Tick 中限流核心代码


<p>float BandwidthDeltaTime = DeltaTime;</p><p>if (DesiredTickRate != 0.0f)</p><p>{</p><p><span style="white-space:pre">        </span>BandwidthDeltaTime = FMath::Clamp(BandwidthDeltaTime, 0.0f, 1.0f / DesiredTickRate);</p><p>}</p><p>


</p><p>float DeltaBits = CurrentNetSpeed * BandwidthDeltaTime * 8.f;</p><p>QueuedBits -= FMath::TruncToInt(DeltaBits);</p><p>float AllowedLag = 2.f * DeltaBits;</p><p>if (QueuedBits < -AllowedLag)</p><p>{</p><p><span style="white-space:pre">        </span>QueuedBits = FMath::TruncToInt(-AllowedLag);</p><p>}</p>


总结


1、每一个 Bunch 都是携带数据的,Bunch 大小有限制,过大会进行拆分。同一个 Channel 的多个 Bunch 有可能合并。


2、Packet 里包括 Ack 和多个 Bunch,也可能没有 Bunch,只发送 Ack。


3、每个 Channel 的发送接收缓冲区只会保存可靠的 Bunch,不可靠的 Bunch 没有备份,上层自己维护。上限256个。


4、每一个发出去的包都有一个 Packet 序列号,如果发生丢包,只会重新发送当前 Packet 里可靠的原始未拆分的 Bunch,增加单个 Channel 内的可靠 Bunch 是有序的,Channel 间的 Bunch 有序性是不确定的,部分丢失的 Bunch 会发送完整的 Bunch,并且发送 Bunch 会重新组装成一个新的 Packet,以及新的 Packet 序列号,和丢失的 Packet 毫无关系,内部的 Bunchs 也不一定完全相同。所以可靠不是相对于 Packet 来说的,只有可靠的 Bunch。


5、发生 Packet 乱序或者 Bunch 乱序的时候,会先缓存起来,等个有序到来的时候,再一起按序处理。


6、调用 FlushNet 立即发送的时机?


正常情况下,UNetConnection::Tick 的时候,如果设置了敏感标记 TimeSensitive,或者距离上次发送时间超过了心跳时间 KeepAliveTime 的时候


缓冲区满了


如果新加入的 Bunch 大小会使缓冲区大小越界,会立即发送已在缓冲区的数据


Ack 数量累计超过 256


需要立即关机某个 Channel


连接 NetConnection 设置了自动发送 bAutoFlush


连接关闭之前,会刷新缓冲区


7、没有超时重传,只有收到 Nak 才会重传。


原文:https://mp.weixin.qq.com/s/wOaC0Zf2LIeKYJ1yt00Kow


温馨提示:为了不影响您的时间,来校区前或者遇到不明白的问题请先电话咨询,方便我校安排相关课程的专业老师为您解答,选取适合您的课程。以上是天津火星时代的小编为您分享的关于UE4 UDP是如何进行可靠传输的的内容,希望可以为同学们提供帮助,更多游戏开发资讯请持续关注天津火星时代。

尊重原创文章,转载请注明出处与链接:http://www.soxsok.com/wnews536014.html 违者必究! 以上就是关于“天津和平区好的游戏开发培训”的全部内容了,想了解更多相关知识请持续关注本站。

温馨提示:为不影响您的学业,来 天津游戏开发培训 校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
教学环境
  • 天津诚筑说ui设计培训班

    天津诚筑说ui设...

  • 天津诚筑说游戏设计培训班

    天津诚筑说游戏设...

  • 天津诚筑说影视特效培训班

    天津诚筑说影视特...

预约申请
  • * 您的姓名
  • * 联系电话
  • * 报名课程
  •   备注说明
提交报名
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网