Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > обновление клиентом данных о содержимом FTP-сервер


Автор: Alexander06 31.3.2009, 13:12
Здравствуйте.
Пишу ftp-клиент, который должен после подключения к серверу периодически опрашивать его содержимое.

Проблема в том, что если при запущенной программе изменить содержимое сервера, клиент при очередном опросе не замечает изменений. Видит при обходе те же файлы, что и раньше.
Замечает только если на сервере была папка и ее не стало, так как он, перейдя при обходе на нее, затем пытается шагнуть внутрь с помощью FtpSetCurrentDirectory и не может.

В начале работы программы WSAStartup()

Последовательность опроса следующая:

1. Создание соединения

  InternetOpen

  InternetConnect

2. Обход содержимого

  FtpFindFirstFile

  InternetFindNextFile

3. Разрыв соединения

  InternetCloseHandle(hConnect)

  InternetCloseHandle(hFile)

  Что интересно, если я закрываю свою программу и запускаю ее снова, то она получает актуальные данные. В том, что запрос содержимого осуществляется по таймеру каждый раз я убедился.
Подскажите, в чем может быть ошибка?

Автор: vinick 31.3.2009, 13:28
Цитата

If the application makes changes on the FTP server or if the FTP server changes frequently, the INTERNET_FLAG_NO_CACHE_WRITE and INTERNET_FLAG_RELOAD flags should be set in FtpFindFirstFile. These flags ensure that the directory information being retrieved from the FTP server is current. 

Указаные флаги используются?

Автор: Alexander06 31.3.2009, 16:24
Цитата

Цитата

If the application makes changes on the FTP server or if the FTP server changes frequently, the INTERNET_FLAG_NO_CACHE_WRITE and INTERNET_FLAG_RELOAD flags should be set in FtpFindFirstFile. These flags ensure that the directory information being retrieved from the FTP server is current. 

Указаные флаги используются? 


Дело было действительно в этом. 
Указал флаги в InternetOpen и в FtpFindFirstFile

Спасибоsmile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)