Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Fehler beim Teildownload von einem FTP
DiViP
myCSharp.de - Member



Dabei seit:
Beiträge: 27

Themenstarter:

Fehler beim Teildownload von einem FTP

beantworten | zitieren | melden

Hallo,

beim Laden eines Teiles einer Gesamtdatei tritt ein Fehler auf, wenn die Datei größer ist als 13.241 Bytes. Der Fehler scheint Server abhängig zu sein, da er bisher nur auf BPlaced.net auftritt. Der Fehler tritt auf bei Stream.Close bzw. Response.Close. Wenn man die Datei komplett lädt tritt der Fehler nicht auf.

Fehlermeldung:
Der Remoteserver hat einen Fehler zurückgegeben: 150 1.870 seconds (measured here), 51.35 Kbytes per second\r\n.
InnerException:
Der Vorgang ist für nicht verbundene Sockets unzulässig.

Es folgt der vereinfachte Code mit dem das Problem auftritt.


public static bool DownloadFile(Uri serverUri)
{

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.ContentOffset = 100;

FtpWebResponse response = (FtpWebResponse)request.GetResponse();

Stream responseStream = null;
StreamReader readStream = null;

responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream);

Console.WriteLine("Bytes received: {0}", response.ContentLength);
Console.WriteLine("Message from server: {0}", response.StatusDescription);
Console.WriteLine("Resource: {0}", response.ResponseUri);

if (readStream != null)
{
char[] buffer = new char[200];
Console.WriteLine("Bytes: " + readStream.Read(buffer, 0, 200));
}
readStream.Close(); // -> hier tritt die Exception auf
response.Close(); // -> hier tritt die Exception auf
return true;
}

Wenn man die Close Methoden überspringt, kann man ganz normal weitermachen und weitere Dateiteile herunterladen. Nur kann das nicht die richtige Lösung sein.

Weiß jemand eine Lösung ?
private Nachricht | Beiträge des Benutzers