and wanted to ask would it be a problem that I don't know the C language i.e. is it easy enough for me to change the C stuff to C++. It's just there don't seem to be that many socket programming books around for c++.
I'd recomend books by Douglas Comer and/or Richard Stevens. Try Internetworking with TCP/IP Volume 3 or Unix Network Programming: Sockets Networking API
I'm not sure why anyone bothers to write (or buy) books on something already so completely described.
Why C? Because TCP/IP was developed on UNIX using C. For all intents and purposes, C++ is a superset of C, so you should be able to follow it.