来自chrome的部分范围请求导致错误

时间:2018-02-26 08:48:01

标签: java html5 google-chrome jetty

我尝试在具有webservlet和UI的系统上实现范围请求视频播放,该系统将从chrome开始的范围请求从字节:0开始发送到后端数据服务器。现在我一直在发送完整的流,因为我的印象是jetty服务器处理响应范围。我看到它适用于第一个和第二个请求但随后失败,因为下一个请求的范围小于之前的范围。

  

(请求1)范围:字节= 0-
    (响应1)Accept-Ranges:bytes                   内容长度:6748748                   内容范围:字节0-10005 / 6748748
    (请求2)范围:字节= 6717440-
    (响应2)Accept-Ranges:bytes                   内容长度:6748748                   内容范围:字节6717440-6718465 / 6748748
    (请求3)范围:字节= 3932160-
    (响应3)Accept-Ranges:bytes   内容长度:6748748   内容范围:字节3932160-3933185 / 6748748
    (请求4)范围:字节= 5701632-     (回应4)失败 -

有人能理解这个吗?对于短视频,这不会发生,因此存在一些超时问题但是为什么Chrome请求的范围较小?这是我在标题中指定的内容,但是再次没有按照我认为jetty处理它的请求显式发送字节。

java.nio.channels.ClosedChannelException,

编辑:

我在dataserver端的日志与每个正在处理的请求一致显示以下内容:

java.nio.channels.ClosedChannelException
at 
org.eclipse.jetty.util.IteratingCallback.close(IteratingCallback.java:427)
at org.eclipse.jetty.server.HttpConnection.onClose(HttpConnection.java:489)
at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:217)

添加了额外的堆栈跟踪

$("#grid").jqGrid('groupingGroupBy', 
    ['col1','col2'], 
    { 
        groupText : [ 'checkbox for col1', 'checkbox for col2']
        ...
    }
);

0 个答案:

没有答案