2

全て、

リモート ftp サーバーに問題があり、今から 3 日間忙しくしています。:(

少し前に、apache commons-net 2.0 を使用する単純な ftp 取得クラスを作成しました。このクラスは 5 つの異なる ftp サーバーで正常に動作し、必要に応じてデータを取得できます。現在、接続する必要があるサーバーに出くわしましたが、ディレクトリを一覧表示したり、データを取得したりできません。

これは、私のクラスによって送信および取得されるコマンドの順序です。

220 (vsFTPd 2.0.1)
USER XXXXXXX
331 Please specify the password.
PASS XXXXXXX
230 Login successful
TYPE I
200 Switching to Binary mode.
PASV
227 Entering Passive Mode (XXX,XXX,XXX,XXX,XXX,XXX)
NLST
150 Here comes the directory listing.
226 Directory send OK.
SYST
215 UNIX Type: L8
PASV
227 Entering Passive Mode (XXX,XXX,XXX,XXX,XXX,XXX)
LIST
150 Here comes the directory listing.

最後の行で、コードが無期限にハングします (コードがブロックされるまで 2 時間待った後、コードを強制終了しました)。アクティブな接続の使用からASCIIタイプの設定、さまざまなftpライブラリの使用まで、すべてを試しましたが、常に同じ結果が得られました。

通常、私は彼らに電話して、サーバーが正しく構成されていないことを伝えます。ただし、FileZilla 経由の接続は機能するだけでなく、非常に高速で、問題が発生することはありません。また、Linux でコマンド ライン経由で接続するのも魅力的です。

私はここで完全に迷っています。なぜ私がこの問題を抱えているのか、誰にも考えがありますか?

乾杯

4

2 に答える 2

3

これに 5 日近く費やしたとは信じられません。変更のロールバック、中間バージョンのコミット、デバッグ、約 15923 杯のコーヒーの長いセッションの後、私はついにこのすべての混乱の理由を見つけました。

なんらかの理由で、耳xpp3にドライバーをパッケージ化して (のように)、これを JBoss 5.1 にデプロイするとすぐに、ftp ライブラリーを介した接続がめちゃくちゃになることが判明しました。XStream

これが他のライブラリが xpp3 に干渉していることが原因なのか、それとも xpp3 自体が原因なのかはわかりません。率直に言って、私も今のところ気にすることはできませんでした。私が知っているのは、プロジェクトからその依存関係を削除するとすぐに、すべてが魅力的に機能したということだけです。

くそー、xpp3 - あなたが私に犠牲を払った私の人生の10年間であなたを訴えます! :)

助けてくれてありがとう、私は今家に帰ります...

于 2010-09-09T11:45:32.213 に答える
1

提案: クライアント マシンに Wireshark をインストールし、稼働中 (filezilla) と非稼働中の両方の状態でネットワーク トレースをキャプチャして、違いを確認します。Linux を使用している場合は、tcpdump コマンドを使用してパケットをキャプチャし、Wireshark を使用してパケットを調べます。

于 2010-09-08T17:00:27.207 に答える