Hi,
Before passing to the next guy, please just hear me out. Frankly speaking, I have not done this exact kind of program, but ones that are similar in many different nature.
Winsock is merely the name for the underlying socket system on Windows, because it's not exactly BSD standard; it's not really having something to do with number of connections. With that said, it's not the number of connections that will be troubling us.
My works are focused on efficiency, I bet you'll be hearing multi-threaded brag word from other guys, but that's largely a mis-used word because maximum efficiency will give you the maximum speed, and most will literally use system threads to achieve this. While this is the easiest way to build the program, it's the most inefficient way that at around 5000 threads, you'll begin to notice a major slow-down; and even at lower number (based on the number of cores).
Last but not least, you mentioned "process them". What kind of processing will be done on the retrieved web pages?
Thanks,
Elie Zedeck