enterprisedt Java ftp フレームワークを使用して、ftp サーバーから切断できません。
FileTransferClient オブジェクトで disconnect() を呼び出しても、エラーが発生することはありません。
サーバーに接続してから切断する以外は、何もしません。
// create client
log.info("Creating FTP client");
ftp = new FileTransferClient();
// set remote host
log.info("Setting remote host");
ftp.setRemoteHost(host);
ftp.setUserName(username);
ftp.setPassword(password);
// connect to the server
log.info("Connecting to server " + host);
ftp.connect();
log.info("Connected and logged in to server " + host);
// Shut down client
log.info("Quitting client");
ftp.disconnect();
log.info("Example complete");
これを実行すると、ログに次のように表示されます。
INFO [test] 28 maj 2010 16:57:20.216 : Creating FTP client
INFO [test] 28 maj 2010 16:57:20.263 : Setting remote host
INFO [test] 28 maj 2010 16:57:20.263 : Connecting to server x
INFO [test] 28 maj 2010 16:57:20.979 : Connected and logged in to server x
INFO [test] 28 maj 2010 16:57:20.979 : Quitting client
ERROR [FTPControlSocket] 28 maj 2010 16:57:21.026 : Read failed ('' read so far)
そしてスタックトレース:
com.enterprisedt.net.ftp.ControlChannelIOException: Connection reset
at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:1029)
at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:1089)
at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:988)
at com.enterprisedt.net.ftp.FTPClient.quit(FTPClient.java:4044)
at com.enterprisedt.net.ftp.FileTransferClient.disconnect(FileTransferClient.java:1034)
at test.main(test.java:46)
現在の作業ディレクトリ内のファイルのリストを取得するなど、問題なくサーバーに接続して何かを行うことができることに注意してください。しかし、なぜか切断できない!アクティブモードとパッシブモードの両方を使用してみました。
上記の例は、ちなみに独自の例からコピー/貼り付けしたものです。Google 検索を行っても、これに関連するものは何も見つかりません。そのため、この問題に関する提案や経験があれば幸いです。