1) ソケットの戻り値の意味にブロッキングとノンブロッキングの違いはありますか? ドキュメントに記載されているように、recv() が select() の前に成功した場合でも 0 を返すことがあります。本当?
osx と win のドキュメントから: 「TCP ソケットの場合、戻り値 0 はピアが接続の半分を閉じたことを意味します。」
2) ブロック ソケットに関する質問: ブロック ソケットでは、SO_RCVTIMEO と SO_SNDTIMEO に 30 秒などの既定値が設定されていると予想しました (getsockopt で確認)。しかし、なぜそれらは0に設定されているのですか?