68user's page 掲示板

Prev< No. 3821> Next  [最新発言に戻る] [過去ログ一覧]
No. 3821 # マツマツ 2004/06/23 (水) 22:43:52
初めて掲載しますが....、
ソケット通信で、select()を使用した非同期通信をさせているのですが、
select()で検知した当該FDを(例としてFD=10と設定)recv()したら、
FD=10のrecv()返値が0(CLOSE?)となることがあります。
recv()返値が0の場合は、相手側がCLOSEしたものと認識はできるのですが、
疑問に思う動作でそれは、通常FD=10ならFD=10を介して送受信を行い、
select()監視しさせて、何かイヘ゛ント発生があればrecv()の動作に遷移する
動きを正常にしているのですが、突然的に(不規則と言うか、不確定と言うか)
FD=10で送信後そのFD=10で受信するのに、select()からの戻りが数十秒
(ほとんど決まって、24〜25秒経って)経って検知され、recv()したら
返値が0であると言う動作があります。
このような動作になる原因が解らず、何かヒントや調べる手立てとかありませんか???。
(これって、ネットワーク障害/ネットワーク負荷とか、相手側マシンのHW的障害
などの影響も考えられますか....???)
...記述表現が的確でありませんが、ご了承ください。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

Prev< No. 3821> Next  [最新発言に戻る] [過去ログ一覧]