FTP-Verbindung scheitert!

  • Java

    FTP-Verbindung scheitert!

    N abend
    Ich versuche mit einer Lib (commons.apache.org/net/) eine FTP-Verbindung zu meinem Server aufzubauen, welcher bei 000webhost gehostet ist. Mit FileZilla kann ich mich problemlos anmelden, und dateien hochladen, bei dieser Lib bekomm ich jedoch immer diesen Fehler:

    Quellcode

    1. Exception in thread "main" java.net.SocketException: Software caused connection abort: socket write error
    2. at java.net.SocketOutputStream.socketWrite0(Native Method)
    3. at java.net.SocketOutputStream.socketWrite(Unknown Source)
    4. at java.net.SocketOutputStream.write(Unknown Source)
    5. at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
    6. at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
    7. at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
    8. at sun.nio.cs.StreamEncoder.flush(Unknown Source)
    9. at java.io.OutputStreamWriter.flush(Unknown Source)
    10. at java.io.BufferedWriter.flush(Unknown Source)
    11. at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
    12. at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
    13. at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
    14. at org.apache.commons.net.ftp.FTP.port(FTP.java:877)
    15. at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:709)
    16. at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
    17. at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
    18. at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
    19. at ju.Bery.Redictr.Main.upload(Main.java:71)
    20. at ju.Bery.Redictr.Main.main(Main.java:26)


    Mein Code:
    Spoiler anzeigen

    Quellcode

    1. public static boolean upload(String localSourceFile,
    2. String remoteResultFile, String host, int port, String usr,
    3. String pwd, boolean showMessages) throws IOException {
    4. FTPClient ftpClient = new FTPClient();
    5. FileInputStream fis = null;
    6. boolean resultOk = true;
    7. try {
    8. ftpClient.connect(host, port);
    9. System.out.println(ftpClient.getReplyString());
    10. resultOk &= ftpClient.login(usr, pwd);
    11. System.out.println(ftpClient.getReplyString());
    12. ftpClient.changeWorkingDirectory("public_html");
    13. fis = new FileInputStream(localSourceFile);
    14. resultOk &= ftpClient.storeFile(remoteResultFile, fis);
    15. System.out.println(ftpClient.getReplyString());
    16. resultOk &= ftpClient.logout();
    17. System.out.println(ftpClient.getReplyString());
    18. } finally {
    19. try {
    20. if (fis != null) {
    21. fis.close();
    22. }
    23. } catch (IOException e) {/* nothing to do */
    24. }
    25. ftpClient.disconnect();
    26. }
    27. return resultOk;
    28. }



    Ich rufe die methode so auf:

    Quellcode

    1. upload(".\\index.html", "/public_html/index.html", ftp_server, ftp_port,ftp_user, ftp_password, false);


    Edit:
    Ich habs jez einfach mit nem Script fuer den Windows-CMD-FTP-Client gemacht und es geht supper!


    Edit by Dodo:
    Doppelpostings sind nicht erlaubt, für sowas gibts die Editierfunktion
    -> Beiträge zusammengefügt
    Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.

    BeryJu.org BeryJu.org/Blog

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()