1

我使用基于 UDP 协议的 Adob​​e AIR 构建了简单的服务器-客户端应用程序(Windows)。我想要实现的是在单台 PC 上测试我的应用程序如何在网络干扰(延迟、数据包丢失、数据包重新排序)下工作。

网络干扰模拟的程序有很多,但看起来它们都是用来模拟两台PC之间的网络干扰的,这不是我需要的。

4

1 回答 1

0

如果您使用的是 Windows,则不太可能在 localhost 延迟中产生一些延迟。今年冬天我遇到了这个问题,这就是我解决问题的方法。

所有延迟逻辑都将在您的 AS3 代码中。在您收到一些数据(套接字数据进度事件)的那一刻,您创建一个具有所需延迟的新定时器(或使用现有的定时器)并使用 Timer.COMPLETE 事件传递接收到的套接字数据。当你的计时器触发时,你可以像通常没有它一样使用它的数据——你调用一些需要的函数,你处理它并做你需要的任何事情。您也可以使用 setTimeout 代替 Timer,这并不重要。您还可以通过不创建计时器来添加一些随机数据包丢失,因此不会有数据通过。您还可以使用随机计时器时间,以便重新排序一些数据包。

我不会写任何代码,因为实现真的取决于你现在已经拥有的。但我希望这个小提示能帮助你:)

于 2013-07-25T04:10:03.787 回答