通常、接続時にサーバがポート割り当てを制御します。そのため、pasvコマンド(パッシブモード)を発行すると、通常、データ接続のために接続するIP /ポートが戻されます。私はあなたが望むことをすることを可能にするものは何も知らない。サーバーは、これらの種類のポートの範囲を制限できます。ここではこれを説明しています。
Active vs Passive FTP
あなたは、具体的ポート50に接続するためにPORTコマンドを送信することができるかもしれないが、それはこのような何かを行うことは本当に珍しいです。
**編集**あなたが試すことができる2つのものがあります
が、私はYMMVので、どちらか使ったことがありません。
アクティブモードでは、クライアントはサーバーに接続先のポートを割り当てます。
デフォルトポートを50に設定し、アクティブモードをオンにしてみます。うまくいけば、これはファイアウォール要求に対して過去のセキュリティを得ることがないため、社内のネットワーク上にあることが望ましいでしょう。
client.setDefaultPort(50);
client.enterLocalActiveMode(); // Apache FTPClient
アクティブモードでは、アクティブなポート範囲を設定できます。
client.setActivePortRange(50, 50)
client.enterLocalPassiveMode();
サーバーが期待しているモードを確認する必要があります。
どのコマンドを送信していますか、どのFTPサーバーに接続していますか、使用しているFTPクライアントは何ですか? – Lothar
残念ながら、私はその情報を提供することはできません。私はApacheのコモンズFTPクライアントを使用しています – steam1234322