This question may qualify as a duplicate or be a candidate for closure so please notify and I am happy to delete it.

There is a plethora of information on networking in c++. Similar questions aimed where I am headed with this question are Is there a beginner's book for C++ socket programming? and Networking with C++ for starters.

I am struggling to filter this information and determine a specific focus. What should I be doing? I program c++ on Windows so am I a candidate for only learning winsock? If not, then what should I learn and focus on? If a library, such as boost::asio, why? I have created a client/server application in Java but have never done so in c++.

My end-goal from the beginning of this question is to determine what I should learn as someone new to networking in c++ and wanting to get on the right path from the beginning. I desire the current and best programming practice in use by professional programmers today.

If the questions above have suitable answers to draw draw, please point them out or append new ones.