Accept
ネットワークプログラミングの続き。
サーバ側は accept()で接続を待ち受けるんですが、この関数にはタイムアウトがありません。
なのでひたすら接続待ちをし続けることになってしまいます。中断することが出来ません。
UNIXならばシグナルを送ることでタイムアウトさせることが出来るんですが、Windowsで同じことを出来るんでしょうか・・・?
色々調べてたら、accept()を使わず select() で read 出来るかどうかを調べて接続とみなす方法があるみたいです。select()ならタイムアウト時間を自由に設定できますからね。
それにしても、こんな初歩的で重要なことなのに Web上では解決方法がろくに見つからないのは一体・・・。
コメント
WSAAsyncSelect()で非同期にすればいいだけ・・・なのかもしれない。
投稿者: あう社長 | 2006年10月17日 11:15