FTPからダウンロード時にフリーズしないようにするには?


ペコリ  2004-07-27 17:14:51  No: 115119  IP: [192.*.*.*]

WinXPとVB6を使って、FTPソフトを作ってます。
FTPにある3000ぐらいのファイルを全てダウンロードしているのですが、
途中で何回かフリーズする時があり、困っています。フリーズさせないよう
にする方法はありますでしょうか?

編集 削除
ガッ  2004-07-27 23:14:08  No: 115120  IP: [192.*.*.*]

ftpつかったダウンロードプログラムを作ったことがないので憶測ですまないが、
たぶんダウンロードが同期処理になっていると思われるので、連続してやるとウィンドウズのイベントの処理がままならないのだと思う。
そういう状況なら、手っ取り早いのは、専用のプログラムをつくってshell関数かなにかで動かすことだとおもう。
ダウンロードに非同期処理があるのであれば、そちらを使うのも可。

編集 削除
旅人  2004-07-28 17:27:13  No: 115121  IP: [192.*.*.*]

う〜ん・・・さすがにこれだけの情報では「こうするといいよ!」とナイスな事は言えないのですが
FTP接続にはInetコントロールを使用されているのでしょうか?
(WinsockのAPI呼び出しとかやっておられるのでしたら私には手におえません)

通信がらみのソフトのトラブルは原因があまりにも色々考えられまして
その為結構硬く作らないと原因不明のトラブルで悩まされつづけますよ(^^;

もしInetコントロールを使用されているのでしたら
とりあえず「Inet1_StateChanged」イベント内でエラー状況を確認してみる
ところから始めてみてはどうでしょうか〜。
結構細かく「こういうエラーが発生してるよ!!」と通知してくれるので
原因を突き止めるのに役だちます。


一応〜
・前回の処理が終わるまで待たずに一方的に命令をサーバーに送っていないか?
・FTPサーバー側でタイムアウトエラーが発生し切断されていないか?
などがありがちなパターンです。

とりあえず何処でエラーが発生してるかまでは頑張って探してみてください(^^;

編集 削除
旅人  2004-07-28 17:36:47  No: 115122  IP: [192.*.*.*]

すいません説明が不適切でした
訂正部分は以下のとおりです。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
(誤)
「Inet1_StateChanged」イベント内でエラー状況を確認してみる
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
(正)
「Inet1_StateChanged」イベント内でサーバーとの通信状況を確認してみる
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

これを調べる事でどの段階でトラブルが発生してるのか
ある程度まとを絞ることができるかも?・・・ということです(^−^)

編集 削除