2013/09/04

ftp protocal windows java common-net

意外に知らなかった。。。。。。。。


★サーバへの接続時のコマンド用とは別にデータ転送用のコネクションを確立するが、この確立方法にアクティブモード、パッシブモードという2種類の方式がある。

・アクティブモード(ポートモードとも言う)では、クライアントがサーバへ待ち受けIPアドレスとポート番号を通知し、サーバがクライアントから通知されたIPアドレスのポート番号へコネクションを確立しに行く。このとき利用するポート番号が毎回異なるので、ファイアーウォール、NAT(IPマスカレード)などを使った環境では場合によってはうまく接続できないこともある。この場合はパッシブモードを用いる。

・パッシブモードではサーバがクライアントへ待ち受けポート番号を通知し、待ち受けポート番号の通知を受けたクライアントがサーバへコネクションを確立しに行く。

いずれのモードでも、コマンド用とデータ用で別々のコネクションを張ることには変わりはない。 サーバ側にファイアーウォールがある場合、データコネクションのためにどのポート番号を使うかを設定してファイアーウォールとの整合を確認する必要がある。 パッシブモードを使っている限りにおいては、クライアント側のファイアーウォールは気にする必要がない。
=>ftpClient.enterLocalPassiveMode();



★windowsのFTPを作成(windowの機能)
window にFTP用ユーザの作成
ftp localhost
?=>コマンドの一覧
ls=>ファイルの一覧
put<=>get、 del、rename、quitなど。。。。
・get <取得元ファイル名>  [<保存先ファイル名>]
第2引数を省略すると、ローカルのカレント・フォルダ(場所はlcdコマンドで変更できる)に、取得元と同じ名前のファイルが作成される。