WinInet: управление тайм-аутом в FTP-положении

Моя программа помещает файл на удаленный хост, используя HTTP. По некоторым неизбежным причинам удаленным хостам требуется некоторое время, чтобы подтвердить последний пакет передачи данных. Больше времени, чем время ожидания по умолчанию, которое, по моему опыту, составляет около 30 секунд. Поэтому я хотел увеличить время ожидания до 5 минут, используя этот код:

DWORD dwTimeout= 300000; // 5 minutes
pFtpConnection->SetOption( // KB176420: this has no effect on some
  INTERNET_OPTION_SEND_TIMEOUT, dwTimeout); // old versions of IE.
pFtpConnection->SetOption(
  INTERNET_OPTION_RECEIVE_TIMEOUT, dwTimeout);
pFtpConnection->SetOption( // NB: Docs say these 2 are not implemented.
  INTERNET_OPTION_DATA_SEND_TIMEOUT, dwTimeout); 
pFtpConnection->SetOption( // our own tests show that they are!
  INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, dwTimeout); 

Это код MFC, который сводится к вызову

InternetOption(hConnection, INTERNET_XXX, &dwTimeout, sizeof(dwTimeout))

Проблема в том, что этот код, по-видимому, не может изменить время ожидания на значительной части компьютеров, на которых используется программа.

Как я могу надежно установить время ожидания подключения к данным?

ТИА,

Серж Вотье.


person Serge Wautier    schedule 15.12.2008    source источник


Ответы (1)


Похоже, что эту проблему с WinInet нельзя надежно решить.

В конце концов я перешел с WinInet на Ultimate TCP/IP.

person Serge Wautier    schedule 02.11.2009