Hallo,
Zitat von
shmia:
Nein, das gilt nur für
Win9x und NT 4.0, steht ja auch unten auf der Seite
Zitat von
ThYpHoOn:
Hab mal geprüft, meine
Indy-Komponente setzt im IOHandler.SendBufferSize 32k (32768). Selbst die Halbierung auf 16384 zeigte so keine Wirkung.
Da sehe ich auch keinen Zusammenhang.
Zitat von
ThYpHoOn:
Wie kann ich denn den Socket-Modus auf "nonblocking" bzw. "asynchronous" ändern?
Das ist nicht möglich.
Indy arbeitet ausschließlich mit Blocking Sockets, so wie es MS empfiehlt.
Zitat von
ThYpHoOn:
Als anderen Verdacht habe ich auch noch, dass eventuell der Arbeitsspeicher nicht ausreicht und er versucht die 200MB Datei in den Arbeitsspeicher zu laden und scheitert?
Zitat von
ThYpHoOn:
Das vermutliche Problem liegt wohl darin das
Indy FTP die komplette Datei die übertragen werden soll in den Arbeitsspeicher läd und dies scheinbar 2-Fach. Also bei einer 250MB Datei kriegt mein Prozess 500MB Arbeitsspeicher-Auslastung. Das ergibt dann wohl die
Exception?!
Kennt ihr eine Einstellungsmöglichkeit für
Indy um dies zu verhindern?
Ich schließe ein Speicher Problem bei so kleinen Dateien aus. Warum der Prozess statt 250 MB, 500 MB braucht: Debug Optionen sind eingeschaltet - das liegt am Delphi Memory Manager, nicht
Indy.
Grundsätzlich: Die Fehlermeldung kommt vom Betriebssystem -
Indy gibt diese nur weiter. Was sagt denn die Ereignisanzeige von Windows wenn der Fehler auftritt? Geht es auf besagtem XP Rechner mit einem anderen
FTP Client denn (Fehler eingrenzen!)?
O.g. Meldung kenne ich nur aus dem Zusammenhang mit Trojanern unter XP, im Produktiveinsatz hab ich davon noch nicht gehört... Bitte auch noch mal mit einer sauberen XP SP3 Maschine testen (VM o.ä.).
Gruß,
Assertor