Delayed Ack - FTP Performance Problem

R

Rotesmofa

Erfahrenes Mitglied
20
Hallo Jungs,

ich kämpfe gerade mit einem Performance Problem.
Mein in meiner App aufgerufener FTP Client hat eine max Datentransferrate von 7kbyte/s.
Das ganze ist wahrscheinlich auf ein aktiviertes "delayed Ack" Ack steht für Acknowledge. Dieses ist z.B. auch bei Windows ein Problem.

Weiss jemand wie man dies deaktiviert und Android?

Gruß
Rotesmofa
 
Öh, wo ist das Problem, auf der Seite steht doch schon alles ?

Code:
SocketImpl s;
...
s.setOptions(SocketImpl.TCP_NODELAY, true);
 
Werde es morgen testen(bei mir ist es schon später Abend).

Wenn das klappt hast nen Bier bei mir gut!

Gruß
Rotesmofa
 
Iblis schrieb:
Öh, wo ist das Problem, auf der Seite steht doch schon alles ?

Code:
SocketImpl s;
...
s.setOptions(SocketImpl.TCP_NODELAY, true);


habe das getestet, ich möchte AndFTP als Intent starten und das eben mit dieser Socketkonfiguration.
Also habe ich vor dem intent für AndFTP diese Zeilen geschrieben.

Aber Eclipse lässt das kompilieren nicht zu an der Stelle "s." steigt es aus.
Das ist doch nur die Ableitung aus der Klasse "s." oder liege ich da falsch?

Gruß
Rotesmofa
 
Zuerstmal ist "Eclipse steigt aus" kein aussagekräftiger Fehlerbericht ;)

Ich vermute einfach mal der Compiler beschwert sich, dass dein SocketImpl Objekt nicht initialisiert wurde.
Wie kommst du auf Ableitung? Ich glaube du solltest dir die "Programmier-Basics" nochmal anschauen, sowas ist wichtig ;)

Ich hab mir die SocketImpl Klasse mal genauer angeschaut und festgestellt, dass es nicht das ist was du suchst. SocketImpl implementiert zwar das SocketOptions Interface, welches die gewünschte Methode anbietet, ist selbst aber abstract. Versuchs stattdessen mal hiermit:

Code:
        Socket mySocket = new Socket();
        try {
            mySocket.setTcpNoDelay(true);
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
... ich hab keine Ahnung von dem Netzwerkkram, ich hoffe einfach mal du weißt was man mit dem Socket Objekt anstellen muss, bevor die setTcpNoDelay Methode was bringt ;)

Gruß
 
Iblis schrieb:
Zuerstmal ist "Eclipse steigt aus" kein aussagekräftiger Fehlerbericht ;)

Ich vermute einfach mal der Compiler beschwert sich, dass dein SocketImpl Objekt nicht initialisiert wurde.
Wie kommst du auf Ableitung? Ich glaube du solltest dir die "Programmier-Basics" nochmal anschauen, sowas ist wichtig ;)

Ich hab mir die SocketImpl Klasse mal genauer angeschaut und festgestellt, dass es nicht das ist was du suchst. SocketImpl implementiert zwar das SocketOptions Interface, welches die gewünschte Methode anbietet, ist selbst aber abstract. Versuchs stattdessen mal hiermit:

Code:
        Socket mySocket = new Socket();
        try {
            mySocket.setTcpNoDelay(true);
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
... ich hab keine Ahnung von dem Netzwerkkram, ich hoffe einfach mal du weißt was man mit dem Socket Objekt anstellen muss, bevor die setTcpNoDelay Methode was bringt ;)

Gruß

Hallo Iblis,

auf Ableitung kam ich durch das "s." was ich meinte war das aus dem Namespace von "s." die Methode die danach steht aufgerufen werden soll.

und ja du hast recht, ich kämpfe noch mit den Grundlagen. :sad:

Vielen Dank das du dich eingelesen hast!
Ich bin mal weiterkämpfen mal schaun ob man den FTP Zugriff zu mehr Performance verhelfen kann!

Gruß
Rotesmofa
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
765
jogimuc
J
S
Antworten
4
Aufrufe
990
Sempervivum
S
R
Antworten
3
Aufrufe
1.614
Ritartet
R
Zurück
Oben Unten