I have never done socket programming before - or network programming on a low-level.
So I did some reading on the subject yesterday; Beej’s guide was really detailed, but I didn’t have time for that. A paper called UNIX System Calls and Subroutines using C seemed to have good introduction to IPC:Sockets so I should look at in detailed later. The Socket Programming HowTo by Gordon McMillan was OK, but it would probably be better to use the Python Low-level networking interface documentation instead. BASIC C Socket Programming In Unix For Newbies gave the best overview of sockets with good C examples to follow along. Code example covering several languages was nicely displayed in the generic socket programming tutorial. Programming UNIX Sockets in C is also good. More examples can be found in the Programming IP Sockets on Linux tutorial.
My plan is to build a small server in first C, then Go - or maybe just Go. There are, of course, many libraries for doing things like this to upper the abstraction level, but my goal is to learn the low-level socket programming and later use existing libraries. As for Go there is a recent update containing a new WebSocket package, but I wasn’t able to make the _test pass during ./all.bash (make) today. I might have to download a fresh build from the repo to make it work. Go also has a http package which uses the net package - which in turn - implements sockets.