Download von FTP Server mit maximal Geschwindigkeit

Status
Nicht offen für weitere Antworten.

Schandro

Top Contributor
Hi,

ich suche eine Möglichkeit eine Datei von einem FTP Server herunterzuladen, aber mit einer vom User eingestellten Maximal Geschwindigkeit (z.b. maximal 50 kb/s). Gibt es dafür bereits was fertiges oder muss ich das selber coden? Zurzeit benutze ich die apache commons.net library um mich mit dem FTP-Server zu verbinden, ich könnte aber auch ohne großen Umstand auf eine andere library umsteigen.
 

HoaX

Top Contributor
Ich kenn die Lib nicht die du verwendest, aber wenn du eine Datei herunterlädst, kannst du einen Outputstream angeben wo du die Datei speichern willst? Wenn ja, dann kannst du an dieser Stelle eine entsprechende Verzögerung einbauen. Sollte relativ leicht gehen.
 
G

Gelöschtes Mitglied 5909

Gast
hatte da mal was gebastelt, ist aber schon ne weile her. Eingesetzt habe ich es bisher auch nicht,
aber es funktioniert denk ich ganz gut:

Java:
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class LimitedOutputStream extends FilterOutputStream {

    protected int  bps   = Integer.MAX_VALUE;

    protected long t0    = -1;

    protected long bytes = 0;

    protected int  rate  = Integer.MAX_VALUE;

    protected int  slept = 1;

    public LimitedOutputStream( OutputStream out, int bps ) {
        super(out);
        this.bps = bps;
    }

    public LimitedOutputStream( OutputStream out ) {
        this(out, Integer.MAX_VALUE);
    }

    @Override
    public void write( int b ) throws IOException {
        if ( bps == Integer.MAX_VALUE ) {
            super.write(b);
            return;
        }
        if ( t0 == -1 ) {
            t0 = System.currentTimeMillis();
            try {
                Thread.sleep(1000);
            } catch ( InterruptedException e ) {
            }
        }
        if ( rate >= bps ) {
            try {
                Thread.sleep(200 * slept);
                slept += 2;
            } catch ( InterruptedException e ) {
            }
        }
        else if ( slept > 0 ) {
            slept--;
        }
        super.write(b);
        bytes++;
        rate = calculateRate(t0, System.currentTimeMillis(), bytes);
    }

    public int getRate() {
        return rate;
    }

    public void setBps( int bps ) {
        this.bps = bps;
    }

    private static int calculateRate( long start, long end, long sent ) {
        try {
            return (int) (sent / ((end - start) / 1000));
        } catch ( ArithmeticException e ) {
            return 0;
        }
    }

}


Java:
import java.io.IOException;

public class Main {

    public static void main( String[] args ) throws IOException {
        LimitedOutputStream out = new LimitedOutputStream(System.out, 10);
        for ( int i = 0; i < 100000; i++ ) {
            out.write(32);
            System.out.println(out.getRate() + "b/s");
            if ( i == 100 ) {
                System.out.println("RATE Änderung");
                out.setBps(1024);
            }
        }
    }

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Datei Download vom Server Netzwerkprogrammierung 8
B HTTP PDF Servlet download vom Server zum Client Netzwerkprogrammierung 3
P Jenkins Login per Java Download Manager Netzwerkprogrammierung 15
T Download überprüfung... Netzwerkprogrammierung 9
S HTTP Download von Google-URL mit Parametern Netzwerkprogrammierung 1
S download PDF Netzwerkprogrammierung 2
V Datei Download Fenster Netzwerkprogrammierung 9
R Apache HttpClient File Download? Netzwerkprogrammierung 3
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
T Download Programm - Download endet vorzeitig (bricht ab) Netzwerkprogrammierung 11
D HTTP Download - Skript im Weg Netzwerkprogrammierung 4
C Fehler bei PDF-Download Netzwerkprogrammierung 5
B FTP *.class download Netzwerkprogrammierung 2
eLogic Download eines Links Netzwerkprogrammierung 2
Dit_ FTP Download | "PassiveMode"-Socket öffnen Netzwerkprogrammierung 4
B HTTP Audio-Download per Direktlink Netzwerkprogrammierung 4
eLogic Download aus Internet Netzwerkprogrammierung 18
M Download von Webseite Netzwerkprogrammierung 4
A RMI Fortschritt bei Up/Download anzeigen Netzwerkprogrammierung 6
T Up- und Download mit https Netzwerkprogrammierung 14
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
P Name der Download-Datei ermitteln Netzwerkprogrammierung 8
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
ModellbahnerTT Download progress Netzwerkprogrammierung 4
D FTP Download Netzwerkprogrammierung 5
N Video download Netzwerkprogrammierung 4
hdi Webseite auf Download-Links prüfen und Download starten? Netzwerkprogrammierung 7
C Download-Fortschritt wird falsch angezeigt. Netzwerkprogrammierung 2
E Größe der Datei vor Download ermitteln Netzwerkprogrammierung 3
B FTP - Verzeichnis Download Netzwerkprogrammierung 3
A Download-Client Netzwerkprogrammierung 6
A download programm Netzwerkprogrammierung 2
K http-download Netzwerkprogrammierung 12
2 Redirect, Login und Download bei Rapidshare.com Netzwerkprogrammierung 4
L file upload / download über http Netzwerkprogrammierung 5
M Download über URL Netzwerkprogrammierung 7
B knacken bei download von mp3 datei Netzwerkprogrammierung 2
N Download HTTP .php-Seite mit Anmeldung Netzwerkprogrammierung 5
I rmi und download von klassen Netzwerkprogrammierung 12
M Download-Manager in System/Browser einbinden Netzwerkprogrammierung 11
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
P Download funtioniert nicht richtig. Netzwerkprogrammierung 2
M FTP Verbindung und download von *.txt Netzwerkprogrammierung 6
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
E Server mit GUI Netzwerkprogrammierung 4
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
Eigenen Rechner als Server? Netzwerkprogrammierung 16
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
J Multithreaded-Server Netzwerkprogrammierung 21
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
F NodeJs-Server auf Firebase hosten ? Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
H HTTP Glassfish (v5) Application Server - Bibliothek zur Verfügung stellen Netzwerkprogrammierung 4
B HttpClient - Server (Jetty) - getInputStream - EOF Netzwerkprogrammierung 3
P TCP-Server Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
F Server für Java Applikationen Netzwerkprogrammierung 16
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
G Server-Client IO Problem Netzwerkprogrammierung 6
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
L Socket Wie kann ich checken ob ein User eine Nachricht per Outputstream an den Server gesendet hat? Netzwerkprogrammierung 1
T Jetty Server LOGGING Netzwerkprogrammierung 1
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
T server empfängt nur 1 Buchstaben vom String Netzwerkprogrammierung 1
S Spiel mit Server programmieren Netzwerkprogrammierung 2
N Post u Head Request an Server Netzwerkprogrammierung 4
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben