Click to See Complete Forum and Search --> : Are IE Libraries limited to 2 Concurrent Downloads?


Mark Otway
May 21st, 1999, 04:36 AM
I've written a freeware robot for downloading sites for local offline browsing (it's at http://www.otway.com/webreaper). It's multithreaded, and uses the MFC WinINet libraries. However, it seems that no matter how many threads I start, the maximum number of 'real' concurrent downloads is two.

I've been told by some users that the same thing happens with IE. However, for people with fast links I can't believe that the maximum is sensible, so is there a way of specifiying how many downloads can happen concurrently?

Cheers

Mark

Paul McKenzie
May 21st, 1999, 02:41 PM
Well from my experience as IE as a "normal" user, IE sputters and chokes on my system if I try more than 2 downloads. Until I read your message, I thought that it was something wrong or not optimized with my system.

Regards,

Paul McKenzie

Mark Otway
May 27th, 1999, 02:19 AM
I was sent this article by a work colleague, which explains pretty clearly. I guess that without altering the registry and breaking the standard it then becomes fairly pointless to have any more than two threads. Which makes the work I did to multi-thread the app a bit of a waste.... :-(

Mark
________________________________________________

INFO: WinInet Limits Connections Per Server
The information in this article applies to:
Microsoft Internet Explorer (Programming), versions 4.0, 4.01


SUMMARY
WinInet will limit the number of simultaneous connections that it will make to a single HTTP server. If you exceed this limit the requests will block until one of the current connections has completed. This is by design and is in agreement with the HTTP specification and industry standards.



MORE INFORMATION
WinInet will limit connections to a single HTTP 1.0 server to four simultaneous connections. Connections to a single HTTP 1.1 server will be limited to two simultaneous connections. The HTTP 1.1 specification (RFC2068) mandates the two connection limit while the four connection limit for HTTP 1.0 is a self-imposed restriction which coincides with the standard used by a number of popular Web browsers.

The only evidence of this limitation to your application will be that calls like HttpSendRequest and InternetOpenURL will simply appear to take longer to complete as they wait for previous connections to be freed up before their requests are sent.

You can configure WinInet to exceed this limit by creating and setting the registry entries below.

NOTE: By changing these settings you are causing WinInet to break the HTTP protocol specification for your application and any other WinInet applications running on your machine, including Internet Explorer. You should only do this if absolutely necessary and then you should avoid doing standard Web browsing while these settings are in effect.


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings

MaxConnectionsPerServer REG_DWORD (Default 2)
Sets the number of simultaneous requests to a single HTTP 1.1 Server

MaxConnectionsPer1_0Server REG_DWORD (Default 4)
Sets the number of simultaneous requests to a single HTTP 1.0 Server


These settings are made for a particular user and will have no affect on other users who log onto the machine.
Additional query words: kbwininet

Keywords : kbIE400 kbIE401 kbWinInet
Version : WINDOWS:4.0,4.01
Platform : WINDOWS
Issue type : kbinfo