2011-09-14 9 views
2

私はDDMSからファイルをアップロードするために、この方法を使用したとき、私はUnknownHostExceptionをしました:アンドロイドでFTPサーバーに接続すると問題が発生しますか?

try { 
SimpleFTP ftp = new SimpleFTP(); 

// Connect to an FTP server on port 21. 
ftp.connect("ftp://*******", 21, "*****", "*****"); 

// Set binary mode. 
ftp.bin(); 

// Change to a new working directory on the FTP server. 
ftp.cwd("web"); 

// Upload some files. 
ftp.stor(new File("data/data/com.android/file/contacts")); 


// Quit from the FTP server. 
ftp.disconnect(); 
} 
catch (IOException e) { 
// Jibble. 
} 

この方法のための問題は何ですか?誰でも私を明確にする。

+0

logcat –

+0

@David Olsson:logcatを含める方法を含める必要があります。方法を教えてください。 –

+0

端末にadb logcatを使用します。またはeclipseでlogcatビュー。 –

答えて

0

SimpleFTP exampleは、ftp://という接頭辞なしでホスト名を使用する必要があることを示しています。また、マニフェストにインターネットアクセス許可を含めるようにしてください。

+0

はい、そうです。 ftpアドレスにプレフィックスを宣言している場合その後、それはもはや機能しません。ありがとうございました。 –

1

アンドロイドエミュレータ上でFTPを使用して2つの大きな問題があります。

  1. エミュレータは、インターネットにアクセスするために(5554と5584の間)ホストマシン上の特定のポートのホールドを取りますが。

    http://developer.android.com/guide/developing/tools/emulator.html

  2. FTPは二つのポートで通信を参照してください。初期ポート(エミュレータが使用しているポート)とセカンダリデータ通信ポート(通常はFTPクライアントとサーバによって定義されます)。

    FTPの仕組みについては、http://www.troubleshootingnetworks.com/ftpinfo.htmlを参照してください。

これは、FTPサーバとの初期通信は、それが意図されたように動作することを意味していますが、あなたのために、サーバーからエミュレータはポートでFTPサーバの要求を通信することはできません/にデータを渡すためにしようとされるとコンピュータはそのポート上のトラフィックの処理方法を知らない。 FTP通信に関するより良い理解を得るには、上のリンクを参照してください。

AndroidでFTPをテストするには、独自のインターネット接続を備えたデバイスが必要です。

+0

完璧! ! !それが私の画像をシミュレータでアップロードしない理由です。今分かります。この返事をありがとう! –

関連する問題