たまに質問させていただいている初心者のkoboです。
winsockとはなんぞやと思い、サンプルコードを探してやってみました。
サンプルコードをそのままコピーアンドペーストすると、ちゃんと動いて
凄いなぁと関心しておりました。
(FTPサーバー?よりTXTファイルをダウンロードするコードです)
では、実験と思い、自分の使っているHPの一部にTXTファイルをアップデートしておいて
サンプルコードの、FTPサーバーの指定・ユーザー名・パス・ダウンロードのファイル指定と
思われる部分を書き換えて見ると、ダウンロードは成功しましたが
ソケットクローズの為(だと思う)に”QUIT”を送信した後のレスポンス受信で
止まってしまいました。
とくにエラーが出るわけでもなく、待っている感じでEXEは動いています。
前に記載されている部分と一緒のコードが書いてあるので、特別をしているとは思えないので
”QUIT”を変えないといけないのかなと思っています。
ソケットで使用するコマンドは、サーバーによって違うのでしょうか?
それらは何を勉強すれば分かるのでしょうか?
今回、実験で使ってみたのはYahooのジオシティーズというところです。
使用させて頂いたサンプルコードは、situmon様の
http://www.activebasic.com/forum/viewto ... light=recv
を使用させていただきました。
なぜ、レスポンスが返ってこないのでしょうか?
winsockのレスポンスが返ってきません
situmon様 小生の様な初心者に返信までありがとうございます。
皆様に迷惑が掛かるといけないので、当方で実験はできませんが
一先ず、理解できる日を夢みてファイルに保存させていただきました^^;
一応、前回の実験結果です。詳細はメモ取りしてありますので所作だけお伝えしておきます。
1、最後の行にmsgbox 0,"finish","finish"を追記
2、各入力項目、FTPアドレス・ユーザー名・パスワード・カレントドライブ・ダウンロードファイルのタイプ・ダウンロードファイル名・保存名を書換えて実行
3、実行後、finishまで行かず、コマンド-7を表示した後、レスポンス-9が表示されなかったことより、その間にて停止しているだろう仮定。
4、各行間にmsgbox 0,"1","実行中"と連番で追記し何処で止まっているかを調査
コマンド-7後のレスポンス受信APILONG=recv(Sock,StrPtr(RBUF),Len(RBUF),0)にて停止していると思われる。
以上が、前回の記録です。
その後、有耶無耶になるのも気分が悪いので本を読み漁っていると、recvで反応待ちの場合、「サーバーの返答が空っぽだと永遠に待ち続ける」との一文を発見したので、これだったのかなぁ?と、自己納得に追い込んでおきました。
でも、別のトコだったのですね^^;;;
situmon様のコードは、未踏の部分で見ているだけで勉強になります。
分厚い本を片手に頑張って勉強しているので、winsockが使えるようになったら、また参考にさせて頂きたいと思います。ありがとうございました。
皆様に迷惑が掛かるといけないので、当方で実験はできませんが
一先ず、理解できる日を夢みてファイルに保存させていただきました^^;
一応、前回の実験結果です。詳細はメモ取りしてありますので所作だけお伝えしておきます。
1、最後の行にmsgbox 0,"finish","finish"を追記
2、各入力項目、FTPアドレス・ユーザー名・パスワード・カレントドライブ・ダウンロードファイルのタイプ・ダウンロードファイル名・保存名を書換えて実行
3、実行後、finishまで行かず、コマンド-7を表示した後、レスポンス-9が表示されなかったことより、その間にて停止しているだろう仮定。
4、各行間にmsgbox 0,"1","実行中"と連番で追記し何処で止まっているかを調査
コマンド-7後のレスポンス受信APILONG=recv(Sock,StrPtr(RBUF),Len(RBUF),0)にて停止していると思われる。
以上が、前回の記録です。
その後、有耶無耶になるのも気分が悪いので本を読み漁っていると、recvで反応待ちの場合、「サーバーの返答が空っぽだと永遠に待ち続ける」との一文を発見したので、これだったのかなぁ?と、自己納得に追い込んでおきました。
でも、別のトコだったのですね^^;;;
situmon様のコードは、未踏の部分で見ているだけで勉強になります。
分厚い本を片手に頑張って勉強しているので、winsockが使えるようになったら、また参考にさせて頂きたいと思います。ありがとうございました。