org.apache.commons.net.ftp.FTPClient.completePendingCommand()
前回の記事でFTPの接続状態が維持できるようになったが、応答が取得できなくなる場合があってハマった。
細かく例外処理分けて場所特定して、retrieveFileStream()の箇所っぽいことがわかった。
retrieveFileStream()でInputStreamが取得できるはずがnullになってるんだろうね。
で、アクティビティの切り替わりでダメなのかとか思ってたが、
retrieveFileStream()使った後は、completePendingCommand()しないとダメなんだね。
retrieveFileStream()使った後に、
転送port使うコマンドを使ったら、これやらないとコマンドportが把握してない感じかな?
アップロード処理でも同じことになるはず。
細かく例外処理分けて場所特定して、retrieveFileStream()の箇所っぽいことがわかった。
retrieveFileStream()でInputStreamが取得できるはずがnullになってるんだろうね。
で、アクティビティの切り替わりでダメなのかとか思ってたが、
retrieveFileStream()使った後は、completePendingCommand()しないとダメなんだね。
retrieveFileStream()使った後に、
if(!ftp.completePendingCommand()){
切断処理;
}
って感じで失敗したら次回は再接続するように書いたらうまくいった。切断処理;
}
転送port使うコマンドを使ったら、これやらないとコマンドportが把握してない感じかな?
アップロード処理でも同じことになるはず。