• ベストアンサー

FTPについて

FTPについて質問があります。 .NET VBより、FTP.exeでファイルをFTPサーバーにアップロードしようと考えています。 そこで、質問なのですがFTPは100%保障が得られるのでしょうか? エラーが検出できる場合は回避できると思っていますが、 FTPが正常終了を通知しているにもかかわらず、「実はファイルが一部損失」などはありえるのでしょうか? 皆さんの意見を聞かせて頂きたく思います。 よろしくお願いします。

  • sky_h
  • お礼率20% (1/5)

質問者が選んだベストアンサー

  • ベストアンサー
  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.3

こんにちは FTP は二段階でエラーチェックが行われます。 1)転送時 転送時にTCP を利用しているため、パケット毎にエラーチェックが行われています。 送信元は送信先からACK(受信確認)を受け取ってから、次のパケットを送信する(Windows size 毎に送信されるケースがほとんどですが)ため、信頼の高い通信といえます。 2)転送完了時 転送完了後、送信元と送信先のファイルのCRC を比較し、正しくファイルを結合することができたか、確認します。 もし、CRC が一致しなければ、CRC エラーとなり、ファイル転送が正常に行うことができなかったことを知らせます。 それ以外の要因でエラーが起きたところまでは保障はされていませんが、FTP でデータ転送というところまでは、OK だと考えます。

sky_h
質問者

お礼

わかりやすく説明して頂き、ありがとうございます。 結果としては、夜間のバッチで送信の為ミスが許されないので、送信を確認ということで、PUT後にGETで同じファイルの取得を行い(サイズが小さいので。)、元ファイルとのサイズ比較することになりました。 ありがとうございました。

その他の回答 (3)

  • toshi7607
  • ベストアンサー率12% (60/482)
回答No.4

一般論として回答しますが、 >FTPが正常終了を通知しているにもかかわらず、「実はファイルが一部損失」などはありえるのでしょうか? 通常使用するレベルでFTPによるファイル欠損など考える必要はありません。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

FTPはTCPなのでネットワーク上では保証されているはずです。 しかし、FTPクライアントやFTPサーバのプログラムのバグやディスクエラーによりデータが破壊されてしまう可能性も否定できないので一概に100%とは言えません。 それはFTPだけでなく他のことにも言えることですが・・・

  • toshi7607
  • ベストアンサー率12% (60/482)
回答No.1

FTPはプロトコルとして保障されているはずです。

関連するQ&A

  • VB2005 FTPでファイルアップロード

    はじめまして。VB初心者なのですが質問があります。 VB2005でFTPでtxtファイルをアップロードをしたいです。 具体的にはCドライブに入れてある C\test1.txtをレンタルホームページのFTPサーバーにアップロードしたいです。 .NETでのアップロードの仕方はインターネットに情報が割とあるのですが、VB2005だとなかなか出てきません。 どのようなコードを書けばいいのでしょうか?よろしくお願いします。

  • FTPソフトについて

    FFFTPを使ってファイルをサーバにアップロードしています。 しかし、100を超えるくらいの数のファイルを一度にアップロードすると転送が止まってしまい、 ソフトを再起動してから再びアップロードをしています。 そこで質問なのですが、 (1)FFFTPを使いアップロードする場合、この様な問題を回避するする方法はありますか? (2)FFFTPでは回避できない場合、他のFTPソフトなら回避できるのでしょうか?  できるのであれば、そのソフトを教えて下さい。(できれば無料のソフトがいいのですが、有料でもかまいません) 以上、よろしくお願い致します。

  • FTPを使わないファイルアップロード

    「とほほのWWW入門」にある、wwwupl2 を使ってブラウザからWWWサーバへ ファイルをアップロードしています。 http://tohoho.wakusei.ne.jp/how2/tec1.htm#upload VB からこの CGI へ命令(?)を渡し、ユーザには VB の画面だけを表示させておいて、 裏で CGI によるファイルのアップロードをさせることはできるのでしょうか? つまり、ファイルを指定して送信ボタンを押すという動作を自動化+非表示にさせたいのです。 FTP を使えば解決するのですが、FTPアカウントは 1つしか無い為、 VB 中にアカウント情報を記述するのが怖いのです。 開発環境はVB6、サーバはレンタルサーバです。 よろしくお願い致します。

  • vbでFTPサーバーに対して、サーバー上でのファイル複製(コピー&ペー

    vbでFTPサーバーに対して、サーバー上でのファイル複製(コピー&ペースト)させたいのですが、どうしたらいいのでしょうか? vbでFTPクライアント機能を作っていて、既に、FTPサーバーへのファイルアップロード、ローカルへのダウンロード、ファイルやディレクトリの削除といった処理は実現できました。 今度は、FTPサーバー上にある既存のファイルを複製したいのですが、そのような命令が無いため、どうしたらいいのか考えています。 例えば、ローカルにダウンロードし、それをリネームして再度アップロードすれば同じ結果にはなりますが、効率が悪すぎますしネットワークに対しても迷惑です・・・。 FTPサーバー上で既存のファイルを複製するにはどうしたらいいですか?? 分かる方お願いします。

  • FTPでのダウンロードについて

    FTPについてなのですが、例えばFTPを使って複数の人でサイトの更新やファイル共有を行っていた場合、サーバーにアップロード済みのファイルをFTPにてダウンロードされたとしたら、ダウンロードされたことは分かるのでしょうか? それとも、ファイルをアップロードするなどしてフォルダの中身が変わっていないのであれば、分からないものなのでしょうか? 同じく、FTPを使ってアクセスしたことは分かるものなのでしょうか? 複数人でFTP共有をしたいと思っているのですが、アップロードしてあるファイルを誰がダウンロード済かチェックできるのか知りたく質問させて頂きました。 ご存知の方、ご回答よろしくお願い致します。

  • FTP接続中かどうかを調べる

    ■vb.net 2005 txtファイルを外部ホスティングサーバーに送りあげるシステムがあります。このシステムを運用テストしている中で、稀ではありますがftp接続をしたとき、エラーとはならずに、固まった状態でexeがタスクマネージャーに残ってしまう可能性があることが判りました。 その場合の対処方法として、該当exeのプロセスIDが一定時間変化がなく、かつftp接続中ではないときにexeを強制終了する仕組みを考えています。 プロセスIDを取得する方法は見つかっていますが、ftp接続中かどうかを判定する方法が判りません。  ご教授ください。 また、上記以外の方法で、このような事象に対しての良い対処方法があればご教授頂ければ幸いです。

  • Win7からLinuxのFTPに上書きできない

    もともとWinXPProからVB.NETのWebClientクラスにてFTPクライアントアプリケーションを作成し、 MIRACLE-LINUXのFTPサーバへJPGファイルをアップロードしていました。 JPGファイルは定周期で同じファイル名でFTPサーバへおくりつけ、 2回目以降はファイルがそのまま上書きされるようになっています。 これを今回WindowsPCのリニューアルのためWin7ProにXP版のままのFTPアプリをのせて、 MIRACLE-LINUXにアップロードしたところ、FTPサーバ側にまだファイルが存在しない1回目の転送では 正常にアップロードされましたが、2回目以降、つまり上書きがされない状態で困っています。 MIRACLE-LINUXのFTPの設定も見直しましたが、心当たりがありません。 1回目は転送できることから、FTPサーバへのログインに失敗しているとも思えません。 Win7のUAC、ファイアウォールなどセキュリティ等に原因があるのかとも思いましたが、 MIRACLE-LINUXではなく別のRedHatLinuxPCに接続すると、ちゃんと上書きされます。 このことから単にWin7側だけの問題ではなく、Win7とLinux側FTPサーバの双方が たまたまどういう訳か上書きできない組合せになってしまっているように思います。 WinXPでしか動作検証してないものをWin7にのせること自体、無謀なのは承知しているのですが 原因・対策が知りたく、諸先輩方に教えを請う次第です。 ご教示のほど、よろしくお願いいたします。

  • FTPサーバーについて

    取引先の企業からデータを受け取る方法として、 弊社のサーバーにデータを先方がアップロードして頂き、 弊社がそれをダウンロードして受け取るという方法をとりたいと考えてます。 その際、FTPクライアントでやりとりをする形になると思います。 弊社のサーバーの中に先方がアップロードをするための ファイルを作成する形になると思います。 その場合、先方にサーバーへのアクセスのためのID/PASSが必要になると思うのですが、 サーバー内の一部のファイルへのアクセスを許すための設定が どのようにやるのか分かりません。 もしくは、一般的にはどのようにFTPでやりとりしているのかよくわからないので、 他の方法など教えて頂けますと助かります。 勉強不足で恐縮ですが、よろしくお願い致します。

  • FTPサーバの立て方が「???」

    Javaを使っています。ファイルのアップロード/ダウンロードをしたいのでFTPサーバを立てたいのですが、よく解りません。 Apache FTP Server 1.02で構築して、起動はされているのですが、ログインでいつも許可が得られません。 どなたか、簡単に使えるFTPサーバの構築方法を教えてください。

  • FTPサーバの立て方が「?」

    Javaを使っています。ファイルのアップロード/ダウンロードをしたいのでFTPサーバを立てたいのですが、よく解りません。 Apache FTP Server 1.02で構築して、起動はされているのですが、ログインでいつも許可が得られません。 どなたか、簡単に使えるFTPサーバの構築方法を教えてください。