UNIXネットワークプログラミング〈Vol.1〉を読み終えた

UNIXネットワークプログラミング〈Vol.1〉」を読み終えた。ソケットプログラミングをする人、ネットワーク周りのインフラにたずさわる人は必読だと思った。難しいけど説明が丁寧なのが良い。何でもっと早く読まなかったんだろう。(←最近こればっか)
BSD socket をラップした高級な API でネットワークプログラミングする人も読んでおいた方が良さそう。少しでも振る舞いに怪しいところがある場合にトラブルシューティングしやすいだろうし。


特に勉強になったのが

  • TCP/IP 上で起こりうるエラーが socket ではどのように見えるか?
  • I/O 多重化や pre-fork モデルの詳細な比較
  • マルチキャストとブロードキャスト
  • inetd の登場の背景と実装

など。

あとは以前読んだソケットプログラミングのコードが実はこの本からの引用であることが分かったのが面白かった。
Mosh のソケット API も select をうまく抽象化して I/O 多重化に対応したいな。


思い出した。同一 socket に対する複数 accept の話も面白かった。


UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI