定义在 SendUpdate 超时自动增加(发送率自动降低)之前由于网络状况而需要丢弃的数据包的百分比(从 0 到 100)。默认值 = 5。
为避免接收方溢出,Unity Multiplayer 支持流程控制。在互连对等方之间发送的每个 ping 数据包都包含两个值:\
(1) 由于网络状况而丢失的数据包。\
(2) 由于接收方在其传入缓冲区没有足够的空间而丢失的数据包。\
与 OverflowDropThreshold 一样,这两个值在报告时都采用百分比形式。使用 NetworkDropThreshold 和 OverflowDropThreshold 为这两个值设置阈值。如果 ping 数据包中报告的值超过相应阈值,则 Unity Multiplayer 可将数据包的发送超时值最高增加到 DisconnectTimeout 的最大值。
注意:无线网络的数据包丢失率通常为 5% 或以上。对于无线网络,明智的做法是将 NetworkDropThreshold 设置为 40-50%。
using UnityEngine; using UnityEngine.Networking;
public class ExampleScript : NetworkBehaviour { void Start() { ConnectionConfig myConfig = new ConnectionConfig(); myConfig.AddChannel(QosType.Unreliable); myConfig.AddChannel(QosType.UnreliableFragmented); myConfig.NetworkDropThreshold = 50; //50% myConfig.OverflowDropThreshold = 10; //10% } }