ミニマルなHTTPサーバを書く『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。同じ著者の「詳解UNIXプログラミング」もそうだったように、今回の本もほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。accept」の方針をとりました。メインのスレッドがクライアントからの接続を受け付けてキューに入れて、スレッドプールのワーカースレッドに実際の処理をやらせる、という方式です。以下がそのコードです。書籍を参考にしながら、ネットワーク部分のコードを書いてみるのが目的だったので、HTTPヘッダの解析などの処理は省きました。HTTPリクエストをそのままエコー(鸚鵡返し)するだけのサーバです。単体では何の実用性もありませんが、欠けている部分の処理を加えていけば簡単な埋め込みHTTPサーバくらいにはなるかもしれません。追記y-hamigakiさんから、大きな問題を2点、ご指摘いただきました。無視するコードと、accept()がエラーを返してもリトライするコードを追加しておきました。ご指摘、ありがとうございました。0;}短く書くつもりが割と長くなってしまいました。