FTPのGET処理に関して


あおい  2005-05-20 12:02:49  No: 121802  IP: [192.*.*.*]

WinInetのFtpGetFileに関してですが、下記に記述する感じでコーディングしてるのですが
ファイルが完全にダウンロード出来ていない(中途半端なデータ)状態でも
後続のErr.LastDllErrorで「0」が返ってきてしまうことはあるのでしょうか?
よくWebからソフト等をダウンロードする時に、中途半端なデータのみしか
取得出来ていないが正常終了するパターンがあるので心配しております。

FTPに詳しい方是非教えてください。

またそういった状態が起きうる場合、get元のファイルサイズと
get後のファイルサイズを比較して確認しようと思いますが、
ネットワーク越しのファイルサイズって取得出来るのですか?
現在、調査中ですが、ご存知の方がいらっしゃえばアドバイスをください。
宜しくお願い致します。

【VB6.0,FTPサーバ:NT,クライアント:2000です】


lngRet = FtpGetFile(lngFtphnd, bytFtpBuff(0), bytLclBuff(0), 1, FILE_ATTRIBUTE_NORMAL, _
                    FTP_TRANSFER_TYPE_ASCII Or INTERNET_FLAG_RELOAD, 0)

If Err.LastDllError = 0 Then
    
    GET成功

Else

    GET失敗
    リトライ処理

End if

編集 削除
ねろ  2005-05-20 13:55:47  No: 121803  IP: [192.*.*.*]

>ファイルが完全にダウンロード出来ていない(中途半端なデータ)状態でも
>後続のErr.LastDllErrorで「0」が返ってきてしまうことはあるのでしょうか?
可能性は有りますね。

>ネットワーク越しのファイルサイズって取得出来るのですか?
もちろん出来ます、色々方法は有りますが取りあえず。
FtpFindFirstFileとInternetFindNextFileを使って
WIN32_FIND_DATAユーザー定義型で取得可能。

編集 削除
あおい  2005-05-20 14:31:07  No: 121804  IP: [192.*.*.*]

ねろさんご回答有難うございます。

>可能性は有りますね。
→やっぱり可能性はありますよね・・・。
  やはりコンペアをしないと駄目みたいですね。

>FtpFindFirstFileとInternetFindNextFileを使って
>WIN32_FIND_DATAユーザー定義型で取得可能。
→WIN32_FIND_DATAユーザー定義型?
  そんな型あるんですね。
  初心者発言ですいません。
  Webで調べてみます。

編集 削除