我的目标:
我想要托管一个照片文件夹,但如果在任何时候正在下载100个文件,我想将一个新的下载程序/请求重定向到“等待页面”并给它们一个排队位置和一个大致的倒计时时钟,直到轮到他们下载他们要求的内容了。然后将它们直接重定向到内容,或者(理想情况下)给它们一个按钮(令牌,过期的序列号),他们可以点击它们,当它们准备就绪时将它们带到内容中。
我看过网站做了类似的事情,比如免费电话,但是我还没有看到这类设置的开源示例。我认为这将结合多种技术并修改请求标头?
非常感谢任何帮助/想法!
答案 0 :(得分:0)
Twisted网络引擎是您的最佳选择。你可以拥有的是你可以让下载器最多服务100个人然后当队列满了你会引导人们进入一个保持循环,在保持循环中他们将等待x秒,检查队列是否已满,检查不是过期,看看还有谁在等,如果这张票在这里,请跳到下载队列的顶部。随着TCP / IP连接的加入,客户端的控制水平如此疯狂,以至于您可以以奇怪而奇妙的方式做一些可能和强大的事情,现在想象一下将其构建为可扩展且交互式的扭曲http服务器控制水平,但你实际上可以提供资源。
最简单的逃脱方法可能是门票池,当下载完成后,下载者将门票返回池中供其他人使用,如果没有门票等待轮到你。