read は考慮必要。

read を while にすると、最後の待ちでブロックしてしまう。

fstatで、ノンブロッキングにすると、最初のreadでデータ受け取れないロジックになる(多分)ので、

実際のデータを見て、Content-lengthをもとに全部データ取得で来たら抜ける

というようにした方がよさそう。バッファも1024固定で取ってるけど、

その場合、malloc, callocで動的に。