![]() |
Maximale Anzahl gleichzeitiger Verbindungen
Hallo,
(m)ein Programm lädt mehrere Bild-Dateien von einem Server, dafür laufen einige Threads zur selben Zeit. Das Problem ist, dass anscheinend nur 2 zur selben Zeit laufen und die restlichen warten. Ein wenig Google ergab dann, dass die maximale Anzahl gleichzetiger Verbindungen zum selben Server auf 2 limitiert ist, außer man setzt in der Registry den Wert unter "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Interne t Explorer\Main\FeatureControl\FEATURE_MAXCONNECTION SPERSERVER" hoch. Das Problem ist: Das bringt nix. Egal ob ich dort "iexplorer.exe" noch den Namen meiner EXE eintrage, es werden nicht mehr. Ich muss leider die Funktionen der WinINet verwendet. Alternativ habe ich schon (erfolglos) versucht:
Code:
Das scheint aber nur bis IE7 zu funktionieren. Hat noch jemand eine Idee?
InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @MaxConnections, SizeOf(MaxConnections));
InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @MaxConnections, SizeOf(MaxConnections)); |
AW: Maximale Anzahl gleichzeitiger Verbindungen
Schonmal überlegt, dass diese Begrenzung auch auf der anderen Seite vorkommen kann und der Server das Limit vorgibt?
|
AW: Maximale Anzahl gleichzeitiger Verbindungen
Probiere mal bitte diese Registry-Einstellungen für 20 gleichzeitige Verbindungen - hat früher immer funktioniert.
Code:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
"MaxConnectionsPer1_0Server"=dword:00000020 "MaxConnectionsPerServer"=dword:00000020 |
AW: Maximale Anzahl gleichzeitiger Verbindungen
Zitat:
[Code] StartServers 250 MinSpareServers 100 MaxSpareServers 150 MaxRequestWorkers 512 ServerLimit 512 MaxConnectionsPerChild 0 [Code] hast du noch eine Idee? |
AW: Maximale Anzahl gleichzeitiger Verbindungen
Zitat:
|
AW: Maximale Anzahl gleichzeitiger Verbindungen
|
AW: Maximale Anzahl gleichzeitiger Verbindungen
Im Regelfall machen die Webserver das. Wenn es dein eigener Server ist kannst du es einstellen. Sonst eher nicht.
Mein FTP Server (bei Hetzner) erlaubt maximal 10 gleichzeitige Verbindungen. Ein FTP Server von DemoScene.org nur zwei. Bei Webhostern war es lange Zeit üblich 2 gleichzeitige Verbindungen zu erlauben. Heutzutage sind es meißt 4. Client / PC seitig muss man da schon seit vielen Jahren nichts mehr einstellen. Unter XP war da mal was. Aber das ist ja lange her. |
AW: Maximale Anzahl gleichzeitiger Verbindungen
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize)
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize) Gibt bei mir bei auf einem 'normalen' Windows 4 (INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER) bzw 2 (INTERNET_OPTION_MAX_CONNS_PER_SERVER) zurück. Kann man denn irgendwie in Erfahrung bringen, ob die App für eine Verbindung warten müsste, weil gerade alles voll ist? Kann das zwar (anscheinend) temporär erhöhen, mir wäre es aber lieber wenn ich weiß, ob die Schlange gerade voll ist, dann kann ich gemütlich warten.
Code:
dwSize := SizeOf(dwMaxHttp10);
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize); If (dwMaxHttp10<10) then begin dwMaxHttp10 := 10; InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize); end; dwSize := SizeOf(dwMaxHttp11); InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize); If (dwMaxHttp11<10) then begin dwMaxHttp11 := 10; InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize); end; |
AW: Maximale Anzahl gleichzeitiger Verbindungen
Ich denke, ich habe den Fehler gefunden. Wenn die EXE in "FEATURE_BROWSER_EMULATION" gelistet ist, muss hier ein Eintrag einfolgen:
HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULA TION\name-der.exe DWord 11000 HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_MAXCONNECTION SPERSERVER\name-der.exe DWord 10 HKLM\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_MAXCONNECTION SPERSERVER\name-der.exe DWord 10 Ansonsten hier: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Int ernet Settings\MaxConnectionsPerServer DWord 10 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Int ernet Settings\MaxConnectionsPer1_0Server DWord 10 Entsprechend geben auch diese Funktionen den hinterlegten Wert zurück:
Code:
Zusätzlich mache ich das dann noch per Software, scheint aber nicht zu greifen, muss ich noch testen:
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize)
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize)
Code:
dwSize := SizeOf(dwMaxHttp10);
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize); If (dwMaxHttp10<10) then begin dwMaxHttp10 := 10; InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, @dwMaxHttp10, dwSize); end; dwSize := SizeOf(dwMaxHttp11); InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize); If (dwMaxHttp11<10) then begin dwMaxHttp11 := 10; InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @dwMaxHttp11, dwSize); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz