Here test example:
The code is not prefect, but it's demonstrates the problem.
So, when I download more than 2 files simultaneous from one server (in my example I download 3 simultaneously) by InetGet() with background option, I will get only 2 active downloads. It's seems like server limitation. The third will remain with 0 read bytes until one of the previous downloads would finished. And if I want to close this third 0 bytes read download with InetClose() I will get hang of Window GUI for several seconds! After that, the third download would be closed and everything will continue to work normally.
If I InetClose() one of the active downloads with more than 0 bites read - all works fine!
You can try by your self given example, or watch this .gif's:
1. Window GUI hangs when I trying to Cancel (InetClose()) download with 0 bytes read download:
2. All works as it should, when I Cancel more than 0 bytes read download:
Any ideas why is it happens?
Here simple script:
#include <InetConstants.au3> Local $hDownload $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", @ScriptDir & "\test.txt", $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND) ConsoleWrite(@error) Sleep(5000) $bReturn = InetClose($hDownload) MsgBox(0, "", $bReturn) The reference says:
Return Value True: if the handle was found and closed. False: if not. But I get always: False? I guess there should be True... Why that? Something wrong? Downloaded text file open as normal. @error = 0