unix network programming volume 2: Interprocess Communications, second edition.