Beej's Guide to Network Programming
Open question: in what fields are you working where you <i>really</i> need to work with actual sockets? Most of the network programming I do fall into one of two categories:<p>1. A library exists to abstract over the bytes-into-sockets layer, meaning I don't need to deal with it; or<p>2. A library probably exists to abstract over the bytes-into-sockets layer, but I've chosen to ignore it either because I'm truly ignorant of it, or for intellectual stimulation.<p>(Note that in category 2 I count things like "not using protobuf/thrift/etc. for IPC.)<p>When are these things not true? Genuinely curious! I'm guessing interfacing with existing obscure third parties, or using obscure language environments, but what are examples of that? And what other usages are there?