If you're committed to using WinSock2 then keep in mind that it's based on Berkeley sockets and even uses the same functions (the ones with no capital letters) so a lot of the tutorials for other systems are still applicable. There are a few oddities, like the "select()" statement being functionally broken in WinSock prior to Vista, but there aren't too many of those issues left in the modern OS releases.