tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
406
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Xo-mate Xo-mate ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Beiträge
    213
    Hallo
    Ich habe ein kleines Problem mit meinem Programm.
    Es läd sich zuerst eine Datei via http aus dem Netz in dem die Verbindungsdaten für den FTP-Zugang stehen. Funktioniert auch alles soweit.
    Nun soll mein Programm ersteinmal per FTP auf den Zielserver connecten.
    Das Login an sich funktioniert auch prima.
    Dann soll der Pfad auf dem Server gewechselt werden. Klappt auch noch.
    Beim Download dann kommt folgende Fehlermeldung:

    System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
    at NetSendSharpClientGUI.FTPFactory.readLine() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 633
    at NetSendSharpClientGUI.FTPFactory.readLine() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 644
    at NetSendSharpClientGUI.FTPFactory.readLine() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 644
    at NetSendSharpClientGUI.FTPFactory.readLine() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 644
    at NetSendSharpClientGUI.FTPFactory.readLine() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 644
    at NetSendSharpClientGUI.FTPFactory.readReply() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 603
    at NetSendSharpClientGUI.FTPFactory.login() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\ftp.cs:line 227
    at CS1._6RS.Form1.downloadFiles() in c:\dokumente und einstellungen\kriss\eigene dateien\visual studio projects\cs1.6rs\cs1.6rs\form1.cs:line 553

    Der Code, der betroffen ist sieht wie folgt aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    private string readLine()
            {
                while (true)
                {
                    bytes = clientSocket.Receive(buffer, buffer.Length, 0);
                    mes += ASCII.GetString(buffer, 0, bytes);
                    if (bytes < buffer.Length)
                    {
                        break;
                    }
                }
     
                string[] mess = mes.Split('\n');
     
                if (mes.Length > 2)
                {
                    mes = mess[mess.Length - 2];//<- erster fehler
                }
                else
                {
                    mes = mess[0];
                }
     
                if (mes.Length >= 4)
                {
                    if (!mes.Substring(3, 1).Equals(" "))
                    {
                        return readLine(); // weitere Fehler
                    }
                }
     
                if (debug)
                {
                    for (int k = 0; k < mess.Length - 1; k++)
                    {
                        Console.WriteLine(mess[k]);
                    }
                }
     
                return mes;
            }

    Ich hoffe ihr könnt mir mit den Infos helfen. Wenn ihr noch mehr infos braucht, dann sagt bescheid.
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi,
    also dieser OutOfRange-Error könnte daran liegen, dass du auf einen Indexbereich von "mess" zugreifst, den es nicht gibt. Du überprüfst zwar die Länge von "mes", jedoch scheint deine Indexberechnung danach eine Zahl kleiner 0 zu ergeben. Hast du dir schon mal angeschaut, wieviele Felder in "mess" gefüllt sind. Wenn es kleiner gleich eins ist, ist die Angelegenheit klar. du würdest versuchen an der Stelle -1 auf "mess" zuzugreifen, und das gibt es nicht.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. (MYSQL) Problem mit Verbindung
    Von ts230 im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 08.06.08, 11:27
  2. Problem mit Verbindung
    Von chickenwings im Forum Javascript & Ajax
    Antworten: 17
    Letzter Beitrag: 05.03.07, 16:17
  3. Verbindung zu Oracle Problem
    Von bluecat_xp im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.07.06, 21:01
  4. Problem mit FTP-Verbindung
    Von Encor3 im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 04.06.05, 17:58
  5. Problem bei SSH Verbindung
    Von ulf123 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 06.05.05, 14:39