>>173
ブロッキングの意味を間違えて理解してる気がする。

あと、
>select()はブロックされない事を完全には保証しないとか。
という一文についても、日本語の解釈が誤っているのでは?
これは、ソケットにデータが到着していないにもかかわらず、
selectが戻ることがある(=ブロッキングを保証できない)、
という意味だと思う。言い換えると、selectが戻っても
いざreceiveしてみると受信データ長=0になることも時にはあるから、
その場合はもう一度selectをかけておくれ、を期待しているのではないかな。

最後におせっかいを言うと、何かトラブルが発生したとき、
「....だから、問題ないはず」という思い込みは解決のさまたげになる。
「....だけど、どこかに問題があるはず」という発想でいこうよ。