ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 22:32

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 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が使えるようになったら、また参考にさせて頂きたいと思います。ありがとうございました。
投稿記事 Posted: 2008年8月25日(月) 23:08
  記事の件名:   引用付きで返信する
久しぶりの投稿です。

書き込みを見る限り、何年か前に私の投稿したFTPサンプルのコードの
お話のようなので返信させていただきます。

余り時間が取れないので、コードの詳しい説明とかは省きますが、
一応コードを修正しておきました。

原因は、”TYPE A”コマンドを送った後のレスポンス受信をなぜか2回行っていた
ためだと思われます。

一応、Microsoftのサーバで正常な動作を確認しましたので、一度
ご確認ください。

なお、私の使ったABは4.24なので、違うバージョンでの動作は
試していませんのであしからず。

それにしても、昔の自分のコードは見難い・・・・・
投稿記事 Posted: 2008年8月25日(月) 22:25
  記事の件名:   引用付きで返信する
多くの人に迷惑が掛かるとの事、これはダメですね。
上手く行くコードを見てもそれは指摘できないですね。
LANアナライザーとはなんでしょう。
解らない言葉ばかりです。
自分でFTPサーバーを立てるなども初心者故にできません。
なので、いつの日か玄人になったらまたチャレンジしてみます。
ご指摘ありがとうございました。
投稿記事 Posted: 2008年8月20日(水) 21:40
  記事の件名:   引用付きで返信する
うまく動作するコードを見ても、問題点を指摘できませんょ。
こういう場合は、自分でFTPサーバを立てて、FTPサーバのログとLANアナライザ
を比較しながらデバッグを行う物です。
プロパイダのFTPサーバで試すと、多くの人に迷惑が掛かる可能性がありますょ。

おそらく、エラー処理に問題が有る気がしますが・・・
投稿記事 Posted: 2008年8月20日(水) 21:32
  記事の件名:  winsockのレスポンスが返ってきません  引用付きで返信する
たまに質問させていただいている初心者のkoboです。
winsockとはなんぞやと思い、サンプルコードを探してやってみました。
サンプルコードをそのままコピーアンドペーストすると、ちゃんと動いて
凄いなぁと関心しておりました。
(FTPサーバー?よりTXTファイルをダウンロードするコードです)
では、実験と思い、自分の使っているHPの一部にTXTファイルをアップデートしておいて
サンプルコードの、FTPサーバーの指定・ユーザー名・パス・ダウンロードのファイル指定と
思われる部分を書き換えて見ると、ダウンロードは成功しましたが
ソケットクローズの為(だと思う)に”QUIT”を送信した後のレスポンス受信で
止まってしまいました。
とくにエラーが出るわけでもなく、待っている感じでEXEは動いています。
前に記載されている部分と一緒のコードが書いてあるので、特別をしているとは思えないので
”QUIT”を変えないといけないのかなと思っています。
ソケットで使用するコマンドは、サーバーによって違うのでしょうか?
それらは何を勉強すれば分かるのでしょうか?
今回、実験で使ってみたのはYahooのジオシティーズというところです。
使用させて頂いたサンプルコードは、situmon様の
http://www.activebasic.com/forum/viewto ... light=recv
を使用させていただきました。

なぜ、レスポンスが返ってこないのでしょうか?
投稿記事 Posted: 2008年8月20日(水) 20:24

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean