0

所以我在这里读了这篇文章:我有点困惑,所以这是我的附加问题:

UDP如何处理丢失的数据?因为它在那里说UDP不关心数据是否会到达目的地或数据的顺序。

SO在线游戏中的例子,UDP如何处理数据丢失?我的理解是,当数据丢失时,可以说我的角色的手在在线游戏中看不到吗?还是我耕种多年的艾辛诺斯战刃丢失了?哈哈

如果顺序不重要,那么可以说我的角色的头部会乱七八糟,或者身体会脱臼,诸如此类。

那么任何人都可以为我澄清这一点吗?

4

1 回答 1

2

游戏中 UDP 的一个更好的例子是位置信息。

在这种情况下,一个字符的位置每秒发送数次,并且一个数据包是否丢失并不重要,因为很快就会再次发送另一个数据包。当您将其与执行某种程度的插值和外推的游戏引擎结合使用时,您可以从零星数据中获得平滑的运动外观。

在重新排序的情况下,如果由于数据包重新排序而收到较旧(及时)的字符位置,您将丢弃它,因为您已经获得了更新的值。

使用您的战利品示例 - 此信息可能通过 TCP 或使用可靠的 UDP 包装器发送到您的客户端。

查看http://code.google.com/p/lidgren-network-gen3/以了解设计时考虑到游戏的 C# UDP 网络库。它通过 UDP 提供了各种不可靠和可靠的通道,并且应该让您了解 UDP 通常在游戏中的使用方式。

于 2013-05-31T07:43:13.393 回答