Hallo,
ich benutze die FTPConnection-Klasse von Bret Taylor (http://www.nsftools.com/tips/FTPConnection.java), um mich zu meinem FTP Server bei http://www.multimania.de zu verbinden (Port 21).
Verbinden und Einloggen funktioniert einwandfrei. Bei Download, Upload und der Methode "listFiles()" wird jedoch folgende Exception geworfen:
(Erstaunlicherweise landet beim Download die gewünschte Datei dennoch auf dem Server.)
Ich habe natürlich schon ein wenig herumgesucht, warum bei "listFiles()" der FTP-Command "list" nicht funktionieren könnte. Dabei bin ich auf den Passive Mode aufmerksam geworden. Dieser wurde jedoch immer dann erwähnt, wenn es darum ging, selbst auf dem eigenen PC einen FTP Server zu hosten (was ich ja nicht tue).
Hat jemand eine Idee, wo ich nach Fehlern suchen sollte? Ich bin für jede Hilfe/jeden Vorschlag dankbar.
EDIT: Habe jetzt beim Debuggen in Eclipse gesehen, dass beim FTP-Command "port 192,168,178,126,212,84" keine Antwort vom Server kommt. Folglich wird bei dem Aufruf von "readLine()" im InputStream eine Exception geworfen.
ich benutze die FTPConnection-Klasse von Bret Taylor (http://www.nsftools.com/tips/FTPConnection.java), um mich zu meinem FTP Server bei http://www.multimania.de zu verbinden (Port 21).
Verbinden und Einloggen funktioniert einwandfrei. Bei Download, Upload und der Methode "listFiles()" wird jedoch folgende Exception geworfen:
Java:
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at ftpconnect.FTPConnection.getFullServerReply(FTPConnection.java:389)
at ftpconnect.FTPConnection.getServerReply(FTPConnection.java:377)
at ftpconnect.FTPConnection.openPort(FTPConnection.java:763)
at ftpconnect.FTPConnection.setupDataPort(FTPConnection.java:703)
at ftpconnect.FTPConnection.executeDataCommand(FTPConnection.java:649)
at ftpconnect.FTPConnection.processFileListCommand(FTPConnection.java:452)
at ftpconnect.FTPConnection.getAndParseDirList(FTPConnection.java:481)
at ftpconnect.FTPConnection.listFiles(FTPConnection.java:413)
at ftpconnect.TestFTP.main(TestFTP.java:36)
Ich habe natürlich schon ein wenig herumgesucht, warum bei "listFiles()" der FTP-Command "list" nicht funktionieren könnte. Dabei bin ich auf den Passive Mode aufmerksam geworden. Dieser wurde jedoch immer dann erwähnt, wenn es darum ging, selbst auf dem eigenen PC einen FTP Server zu hosten (was ich ja nicht tue).
Hat jemand eine Idee, wo ich nach Fehlern suchen sollte? Ich bin für jede Hilfe/jeden Vorschlag dankbar.
EDIT: Habe jetzt beim Debuggen in Eclipse gesehen, dass beim FTP-Command "port 192,168,178,126,212,84" keine Antwort vom Server kommt. Folglich wird bei dem Aufruf von "readLine()" im InputStream eine Exception geworfen.
Zuletzt bearbeitet: