プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。dekatyoと申します。
borland c++ 4.0にて開発をしております。
タイトルの通り、setsockoptにて指定した、タイムアウトの確認方法を探しています。
一通り探してみたのですが、何分私も、初めて担当した言語で戸惑っております。
恐れ入りますが、ご回答をお願い致します。

A 回答 (2件)

「タイムアウト発生をどうやって検知するか」という質問だと捉えましたがよろしいでしょうか?



BolandC++が、BSDソケットの仕様に準拠しているとしての話ですが・・・

タイムアウトを気にするということはブロッキングI/Oモードです。
send/recvは、正常にデータ送信/データ受信ができない限り、setsocketoptで設定したタイム
アウト値まで、リターンしません。
そして、タイムアウトした時はエラーとして-1を返却します。
その時のグローバル変数errnoに、EAGAINまたはEWOULDBLOCK(sendのみ)が設定
されます。これがタイムアウトした事を示します。
(もしかすると、Winsockの仕様を取り込んでいるとGetLastErrorとかでエラー値を取得
 する形かも知れません。)
    • good
    • 0
この回答へのお礼

とても参考になりました。
ありがとうございました。

お礼日時:2006/11/02 18:12

送受信のタイムアウトの話ですよね。



受信側でrecv()を呼び出し、送信側で何も送信しなければ良いのではないでしょうか?
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
参考にし、調査してみたいと思います。

お礼日時:2006/11/02 18:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!