Server が select するのは責務にあってそうです。 ただacceptした後のsend/recvやHTTPメッセージのハンドリングまでやっているのは責務過剰です。 例えば Connection クラスを作って、これがHTTP接続の1つの recv/send を担うようにすれば、かなり見通しが良くなると思います。