ConnectionConfig.OverflowDropThreshold

切换到手册
public byte OverflowDropThreshold ;

描述

定义在 SendUpdate 超时自动增加(发送率自动降低)之前由于内部缓冲区空间不足而需要丢弃的数据包的百分比(从 0 到 100)。默认值 = 5。

为避免接收方溢出,Unity Multiplayer 支持流程控制。在互连对等方之间发送的每个 ping 数据包都包含两个值:\ (1) 由于网络状况而丢失的数据包。\ (2) 由于接收方在其传入缓冲区没有足够的空间而丢失的数据包。\ 与 NetworkDropThreshold 一样,这两个值在报告时都采用百分比形式。使用 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% } }