UNet 随机断开连接

UNet randomly disconnects

对于基本的网络场景(两个玩家转换和偶尔的 RPC),我一直在不断地丢失 UNet。连接因超时而断开。

连接可靠地在 5 分钟内断开,大部分在 30 秒内。我在网上看到 UNet 经常这样做。我试过将 NetworkDropThresholdOverflowDropThreshold 增加到 90%。我还将 ping 超时设置为 5 秒。

关于如何修复它有什么想法吗?我正在为两个播放器使用 Wi-Fi,并且我使用的是 Unity 5.6.0f3。

I've tried increasing the NetworkDropThreshold and OverflowDropThreshold up to 90%. I also put the ping timeout up to 5 seconds.

这确实是一个大问题,一年多了还没有解决。不幸的是,您还没有尝试过所有方法。几乎没有什么东西可以修复或降低断开连接率。

NetworkManager.maxDelay 增加到大约 0.2f。根据 do 文档,默认值为 0.01f。继续增加它直到它停止断开连接。


如果您使用的是 Unet 的匹配系统,这可能是问题所在,因为传输速率有限制。如果超过该限制,您将断开连接。不幸的是,解决办法是自己配对。

升级到 Unity 5.6.1f1 解决了这些问题。虽然发行说明或 5.6.0 系列的任何补丁说明中没有评论,但可靠性的差异是惊人的,至少对我而言。

如果遇到问题,请尝试最新版本。虽然最新的稳定版本对我有用,但您可以在以下位置找到最新的补丁版本:https://unity3d.com/unity/qa/patch-releases.


如果您使用的是 Unity 的 Matchmaker,则有硬带宽限制会影响玩家,而且价格昂贵。 Photon 是网络的良好替代品:https://www.photonengine.com/PUN.