ACTIVE FTP モードで上記のライブラリを使用して、FTP 経由でファイルを転送することは可能ですか?
アプリが 5KB のファイルを移動するのに 13 秒かかります。コードをトレースしたところ、この 13 秒の大部分が「スリープ」に費やされていることがわかりました。「パッシブ モードに入る: 227」と「データ転送が開始されました」の間の時間、 いい8秒でした。
このライブラリを別の方法で使用する方法はありますか? GetFile 関数をそのまま使用します。
ACTIVE FTP モードで上記のライブラリを使用して、FTP 経由でファイルを転送することは可能ですか?
アプリが 5KB のファイルを移動するのに 13 秒かかります。コードをトレースしたところ、この 13 秒の大部分が「スリープ」に費やされていることがわかりました。「パッシブ モードに入る: 227」と「データ転送が開始されました」の間の時間、 いい8秒でした。
このライブラリを別の方法で使用する方法はありますか? GetFile 関数をそのまま使用します。
申し訳ありませんが、OpenNETCF の FTP コンポーネントについては何も知りません。
Rebex ( http://www.rebex.net ) の FTP/FTPS コンポーネント (商用) を使用しています。それは本当に素晴らしいです!数千円払えるなら、試してみることをお勧めします。
その lib の主な問題 (それが私が考えているものである場合) は、スリープを介して実装された同期通信であり、はい、必要以上に長くスリープすることができます。ソケットベースですか?忘れてしまいましたが、一部の (すべての?) CE デバイスでは、タイムアウトで送信を同期できません。つまり、ハングする可能性のある (タイムアウトなし) コードを作成することを意味するため、このシナリオでは実際にはスリープの方が適しています!!!???!! !. 私はこのライブラリを非同期になるように一から書き直しましたが、そのライブラリのクライアントはコードを提供することを許可しませんでした。:(
ソースがオープン ネット cf フォーラムにある場合は、コードを取得して、ネットワークが素晴らしい場合はスリープを減らします。この種のソリューションの問題は、スリープすると成功を「逃す」可能性があることです。が短すぎるか、受信バッファに触れる前に十分な時間待たなかったため、ネットワークが少し詰まっています。
非同期で書き直すか、他の場所を見てください。