FTPのGET処理に関して


あおい  2005-05-20 21:02:49  No: 121802

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 22:55:47  No: 121803

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

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


あおい  2005-05-20 23:31:07  No: 121804

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加