CInternetSession timeout
-
hallo, kann mir einer sagen warum die timeouts nicht funktionieren?
also es dauret immer so ca. 15s bis ein connect timeout kommt.CInternetSession *inet_session; ftp_connection = NULL; inet_session = new CInternetSession(NULL, 1,INTERNET_OPEN_TYPE_PRECONFIG); try { inet_session->SetOption (INTERNET_OPTION_CONNECT_TIMEOUT, 1000); inet_session->SetOption (INTERNET_OPTION_CONTROL_SEND_TIMEOUT, 1000); inet_session->SetOption (INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT, 1000); inet_session->SetOption (INTERNET_OPTION_DATA_SEND_TIMEOUT, 1000); inet_session->SetOption (INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, 1000); ftp_connection = inet_session->GetFtpConnection(_T(host_ip));
-
Hallo,
für FTP können die Timeouts über diese Methode nicht geändert werden, die Lösung ist, asynchron (nicht-blockierend) zu arbeiten, oder einen weiteren Thread zu starten, in dem die Internet-Zugriffe passieren, wenn dieser Thread eine gewisse Zeit überschritten hat, kann er vom anderen Thread abgebrochen werden:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;224318
das mußt du noch auf MFC-Code umschreiben, aber die grundsätzliche Vorgehensweise sollte erkennbar sein.
MfG
-
danke