Problem z URL Connection- urywający się InputStream

0

Witam!

Mam problem podczas pobierania kilku plików na raz. Kiedy pobieram przez program jeden lub 2 pliki, wszystko przebiega bezbłędnie. Problem pojawia się przy pobieraniu np 20stu plików na raz. Polega on ta tym, że read dla bufora wejściowego zwraca -1 przed pobraniem całego pliku. Nie jest wyrzucany żaden wyjątek, nie ma problemu z internetem. Każdy tego typu downloader uruchomiony jest w osobnym wątku. Co się dzieje? Dlaczego urywa InputStream? jak temu zaradzić?

        iObiekt.status.setText("Pobieram....");
            conn = new URL(link).openConnection();
            //conn.setConnectTimeout(10000);
            //conn.setRequestProperty("User-agent","");
            InputStream is = conn.getInputStream();
            final int wielkosc=conn.getContentLength();
            progressBar.setMaximum(wielkosc);

            ActionListener taskPerformer = new ActionListener() {...};
            new Timer(500,taskPerformer).start();
            
            OutputStream outstream = new FileOutputStream(new File(Downloader.this.tmpNazwa));
            byte[] buffer = new byte[4096];
            int len;
            while ((len = is.read(buffer)) != -1)
            {
                outstream.write(buffer, 0, len);
                x+=len;
            }
            outstream.close();
0

Najzwyczajniej w świecie druga strona zamknęła połączenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1