I used MFC CSocket class in my OpenGL when I was dabbling in multiplayer stuff.
MFC = Microsoft Foundation Classes. Its basically been deprecated by ATL and now by .NET standard libraries. It was just a group of classes that abstracted the dirty work of SOCKET programming. (And everything else related to WinAPI programming in C++)
I don't know how to give a quick description of socket programming, but I can probably give you some basic guidance.
Now, forgive me on the basic syntax since I never do it the 'primitive' way of SOCKET structs, I just crack open my handy library classes book and grab the appropriate class and member funcs, but I digress....
You've basically got a struct called SOCKET where you're passing it in and out of a bunch of library functions, like recv(), send(), accept(), connect(), etc.
Each time you're passing your SOCKET pointer and whatever other structures it calls for.
Usually you're going to also have to create a call back function which takes certain params (look this up) and then pass the address of your function into one of the standard library funcs so that it can 'wake up' your code when data is received.
All the rest of the stuff is just done like file input and output. Once you want to send, or you are alerted to receive, you just read like old style C file I/O. You read or write a buffer, and supply a specific buffer length. You read in this case until some kind of SOCKET_ERROR (like EOF) or write until you run out of data to write.