2011-04-08 43 views

回答

0

你可以试试看NetLimiter是否可以处理这个问题。这里是链接

http://www.netlimiter.com/

希望这有助于。

+0

感谢您的答复! NetLimiter似乎是本机Windows应用程序,但这不是我正在寻找的。 – Eugene 2011-04-08 12:47:30

+0

不客气!也许有帮助:(不是我) “URLStream与URLLoader非常相似,但是在使用结果之前不要等待文件完全下载,而是在下载过程中提供给您数据。你不必等待完整的下载开始将其保存到磁盘,并且你还可以节省内存,因为一旦播放器将它释放给你,它可以释放与该数据相关的内存.YOu将完全使用文件流同样的方法,你只需要在文件流入时在文件的每个块上做writeBytes()。“ – l0Ft 2011-04-08 12:52:13

+0

我写了一个AIR Downloader应用程序,它使用URLStream和FileStream来下载和保存文件。问题是我无法弄清楚如何限制AIR的下载速度,因为应用程序“吃”了所有可用的流量:( – Eugene 2011-04-08 12:57:03

1

简短的回答,你不能。这不是Air的目的,“限制”任何类型的下载(我不明白为什么你会首先......),因为如果你通过HTTP去实际使用操作系统的默认浏览器。

您可以限制它的唯一方法是创建一个Socket并尝试在其中实现一个HTTP协议或实现您自己的协议。坦率地说,我甚至不会尝试。我没有看到太多限制带宽下载的使用...

+0

当您的连接速度很慢时,限制带宽非常有用,例如大多数下载管理器和torrent客户端但是问题仍然存在......也许我可以通过使用计时器或更改缓冲区大小来模拟它...... – Eugene 2011-04-08 15:09:55

+1

是的,但这些都是可以与硬件通信的原生应用程序。这意味着有一个抽象层到这样的东西 – 2011-04-08 15:16:43

+0

这里的关键是大多数情况下,AIR不会自己创建网络堆栈,它会将请求传递给操作系统并让您知道它何时得到答复。你通过一个套接字自己加载数据,你可以控制你一次请求多少数据,但是每个数据块仍然会一如既往地被传输。 – fenomas 2011-04-13 03:54:16

0

“吃所有可用流量”在客户端是一件好事。

如果流下载速度变慢,那么播放的时间将不得不等待缓冲,这会很糟糕。

你最好的办法是检测DL的速度,如果它较小,那么XXX会下载一个较低的rez视频。要做到这一点,你需要在服务器上有几个版本的文件。这允许客户获得最优化的速度。您也可以允许用户覆盖它要获得高清质量,如果他们真的想看到高清晰度

+0

带宽检测的另一件事那么好的是你可以经常测试,如果速度提高,你可以无缝地改变流中的流 – 2011-04-08 20:14:42