Почему загрузка продолжается без подключения? - PullRequest
0 голосов
/ 28 октября 2018

Я задавал подобный вопрос в этой ссылке раньше, но у меня все еще есть эта проблема.Этот код объясняет мою проблему:

package main;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainClass {

    public static void main(String[] args) throws IOException {
        URL url = new URL("http://speedtest-ny.turnkeyinternet.net/100mb.bin");
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setReadTimeout(10000);
        con.setConnectTimeout(10000);
        con.connect();
        InputStream inputStream = con.getInputStream();
        int len;
        byte[] buffer = new byte[1024];
        while ((len = inputStream.read(buffer)) != -1) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("downlaoding : " + len);
        }
        System.out.println("finished");
    }

}

, если я отключаю свой ноутбук от Интернета во время загрузки, загрузка не заканчивается и продолжается некоторое время (в зависимости от времени, когда я отключаю свой ноутбук от Интернета).Мои вопросы:

  1. почему это происходит?
  2. как я могу решить эту проблему?

Пожалуйста, помогите мне.Мне действительно нужен ваш ответ.

Я заранее извиняюсь, если грамматика моих предложений неверна.Потому что я плохо говорю по-английски.

1 Ответ

0 голосов
/ 28 октября 2018

У вас сложилось впечатление, что этот код ограничивает скорость загрузки до 1 КБ / с.Это не так.

Эти данные будут загружены на ваш компьютер, как только сервер и ваш провайдер смогут его отправить (в зависимости от размера сетевого буфера вашего компьютера), и они будут буферизованы.где-то в вашей ОС, пока процесс Java не запросит его.

...