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


Anmelden zum Antworten