• ベストアンサー

VB.NETでFTPプログラム

VB.NETでFTPプログラムを作成しているのですが、 SocketクラスのSendを使って、 そのディレクトリにあるファイル一覧を取得しようと思ってましたが、いざ "NLST"と送ると、 10回に1回位の割合で、返事が返ってきません。 もちろんReciveでサーバーからの返事を読み取っていますが、返事が返ってこないと、そこでとまってしまいます。 なにかよい対策がありましたら、ご教授ください。

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

  • ベストアンサー
  • jun2004
  • ベストアンサー率42% (24/57)
回答No.1

Socket.Availableがゼロの場合は、Reciveを待つループを作ります。ループ内にSleepで10msec程度のウェイトを置いて一定回数以上ループするとタイムアウトするようにしたらどうでしょうか。 FTPサーバによってはコマンド送信からデータ受信のタイミングが微妙な場合がありますので、数種類のFTPサーバでテストされる事をお勧めします。

itodai777
質問者

お礼

お~すげ~ 大変助かりました。 ありがとうございました。

関連するQ&A