我正在研究多线程下载器功能,以便最大限度地利用带宽。每个线程都依赖于Http Range功能下载目标文件的一部分。 (我正在检查远程主机当然是支持这样的)。我的线程run()代码大致如下:
HttpURLConnection urlConn = url.openConnection();
urlConn.setRequestMethod("GET");
urlConn.setRequestProperty("Range", "bytes=" + currentByte + "-" + endByte);
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_PARTIAL) {
// I'm OK
} else {
// :-(
}
我的问题是只有第一个线程获得206代码响应...其他人获得200个代码。 我已经检查了currentByte和endByte值x2所有这些都没问题(没有重叠,没有越界,......)。那么???我被困了。有什么建议? THKS。