在解决etag的问题后,那个.vga文件还是不能正常播放,我只好用最后一招,通过VS.NET断点来监测程序的流程,在我检查Request.Header的时候,忽然发现一项:"Accept-Ranges: bytes0-31",这是什么东东?好像很熟的样子,通过在flashget中一看才知道,原来是断点续传的起始位置和结束位置。我忽然想起我的系统不支持断点续传,而这个再现播放的控件应该是通过断点续传实现的,这应该就是问题所在。
    知道问题就好说了,从网上参考了一段代码用来搞断点续传的(Asp.net(c#)实现多线程断点续传)。
    看起来确实不错,通过了flashget的测试。
    可是我用来测试那个screen.vga,可是依然不能显示,究竟是什么原因呢?
    继续用VS.NET断点来监测程序的流程,终于发现问题所在,原来flashget使用Accept-Ranges: bytes0-格式的header来发送请求,也就是说只讲明从什么地方开始而不讲明结束(莫认识文件尾部),而上面的程序也是针对flashget来设计的,却没有考虑到Accept-Ranges: bytes0-31这种有头有尾的格式。
    那就容易了,到现在,也该自己写写代码了,不能总靠从网上找现成的,呵呵
    以下是整个load.aspx的代码:

 

[导入]ASP.NET断点续传和多线程下载<%@ import Namespace="System.IO" %>
[导入]ASP.NET断点续传和多线程下载
<script runat="server">
[导入]ASP.NET断点续传和多线程下载    
private void Page_Load(object sender, System.EventArgs e)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
  • 2021-12-06
  • 2021-11-19
  • 2022-12-23
猜你喜欢
  • 2021-06-08
  • 2021-12-08
  • 2022-12-23
  • 2021-10-04
  • 2021-09-18
  • 2021-12-17
相关资源
相似解决方案