ok, maybe someone already asked this before but here it goes again.

My friend told me learn about socket programming over the summer and i have NO background in socket stuff. So i was wondering if anyone can guide me in the right direction.

I know a fair bit in C++ (pointers, new/delete, AVL-trees, etc). I also have some knowledge in Assembly (motorolla 68HC11), so i know some stuff about ports and stuff (not sure if it's relavant to socket programming)

but yeah, umm.. what books or steps should i take to be successful in learning socket programming? Do i need to learn C first? what are some good "beginner" to socket programming tutorials? is it better to learn about sockets or multithreading first?

thanks.