2012-02-22 46 views
1

ファイルをアップロードするためにアプレット経由でFTP接続にftp4jを使用しています。 サーバーからは、既にポート27を使用してFTPサイトを開きます。targetURL =ローカルIPアドレスは192.168.x.xxxで、ユーザー名FTPUser、パスワードxxxxにアクセスを許可します。FTPアップロードファイルエラーコード= 425、メッセージ=データ接続を開くことができません

FTPClient client = new FTPClient(); 
client.connect(targetURL, port); 
client.setType(client.TYPE_BINARY); 
client.login(user, password); 
fis = new FileInputStream(targetFile); 
client.upload(targetFile); 

それは接続して、私は、ルータがすでに外部IPへのローカルIPを変換するためにNATを使用して構成され、外部ネットワークとのテストをしようとすると、アップロードは、

しかし内部ネットワーク内で、アプレットで正常にファイル:ポート47027と175.136.xxx.xxxが、私はこのエラーメッセージました(すでにコマンドを使用してFTP接続をテストしました):エラーログからのよう

user: FTPUser, password: xxxx port 47027 
network: Connecting http://175.136.xxx.xxx:47027/ with proxy=DIRECT 
network: Connecting http://175.136.xxx.xxx:20459/ with proxy=DIRECT 
it.sauronsoftware.ftp4j.FTPException [code=425, message= Can't open data connection.] 
at it.sauronsoftware.ftp4j.FTPClient.upload(FTPClient.java:2658) 
at it.sauronsoftware.ftp4j.FTPClient.upload(FTPClient.java:2539) 
at it.sauronsoftware.ftp4j.FTPClient.upload(FTPClient.java:2410) 

を、それはその後、その後、ポート47027を介して接続を確立しようとしました20459に変更してくださいそれはどこから来るのか分からない)。

ファイルがサーバーのFTPサイトに作成されていることがわかりますが、0バイトです。

誰でもこの状況が間違っていることを知っていますか?

答えて

0

代わりにパッシブモードを使用してください。あなたの側がポートをブロックしている可能性があります。

関連する問題