I hate the socket interface, at least once you use it's goofy interface on UNIX, it works mostly like a file descriptor. The sucky one is Windows which has a socket interface but it's file read and write calls are completely incompatible.