ネットワーク越しにパケットを送受信するプログラム例を読んでいたら,Unbuffered IOのread()
,write()
を使用している理由が気になって調べてみた.普通のIOならシステムコールを減らすためにBuffered IOを使用するがなぜネットワークプログラミングではどの例もUnbufferedなのか?調べた結果は後でブログにまとめるとして,見つけた解説記事を載せておきます.
- Buffered vs unbuffered IO (stack overflow) - バッファドとアンバッファドの違いについての基礎知識の確認のため.
- Defining Buffer Operation (Linux Socket Programming by Example - Warren Gay) - ネットワークプログラミングでアンバッファドを使う理由はここ.