Überstragung zum FTP-Server liefert Unterstriche statt den Zeichen !?



  • Hallo

    Ich habe ein kleines Problem:
    Ich arbeite an einem FTP-Clienten, das funktioniert soweit auch ganz gut, nur gibt es offenbar einige Verbindungsschwierigekiten...

    Manchmal, wenn ich z.b. PASS ****** sende, empfängt der FTP-Server nur ASS.
    Und manchmal, wenn der FTP-Server z.b. 227
    "Entering Passive Mode (81,169,145,67,209,6)" senden sollte, schickt er mir
    "22
    Entering Passive Mode (81,169,145,67,209,6)"

    Weiß einer woher das kommt?

    ein bissl code:

    public boolean Connect(String Server, int Port, String User, String Password) {
    //Verbindung aufbauen
            try {
                controlSocket = new Socket(Server, Port);
                // Setting in and output streams
                controlInStream = new DataInputStream(controlSocket
                        .getInputStream());
                controlOutStream = new DataOutputStream(controlSocket
                        .getOutputStream());
            } catch (Exception e) {
                return false;
            }
    
    ...
    //Empfangen vom Server:
            controlInThr = new Thread() {
                public void run() {
                    while (connected) {
                        try {
                            String ServerSend = controlInStream.readLine();
                            System.out.println(ServerSend);
    
    ...
               }
            }
         }
      }
    
    ...
    
                User = "USER " + User + "\r\n";
                Password = "PASS " + Password + "\r\n";
                String Type = "TYPE B\r\n";
                String PWD = "PWD\r\n";
                for (int i = 0; i < User.length(); i++)
                    controlOutStream.write(User.charAt(i));
    
                for (int i = 0; i < Password.length(); i++)
                    controlOutStream.write(Password.charAt(i));
    
                Thread.sleep(100);
    
                for (int i = 0; i < Type.length(); i++)
                    controlOutStream.write(Type.charAt(i));
    
                for (int i = 0; i < PWD.length(); i++)
                    controlOutStream.write(PWD.charAt(i));
    
            openPassive();
            getFiles();
    

    Ist vlt. jetzt etwas durcheinander, wenn jemand mehr sehen will, nur sagen...



  • OK, entwarnung.
    Der Server wurde ganz offensichtlich mit meinen Kommandos überflutet, und kam nicht mehr hinterher.

    Jetzt hab ich statt DataInput/OutputStream lieber BufferedInput/OutputStreams verwendet. Funzt perfekt, muss ich nur noch etwas entfrickeln^^


Anmelden zum Antworten