C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Клиент FTP с использованием WININET. / FTP / Сеть

Клиент FTP с использованием WININET.

Компилятор: Visual C++

Автор: Pablo van der Meer

Описание

В этой статье представлен многопотоковый клиент FTP, который включает в себя все возможности Проводника Windows, позволяя перемещать и копировать файлы как на локальном компьютере. Для реализации протокола FTP используются API функции.

 

Список возможностей

  • Вся запросы выполняются в фоновом режиме, поэтому нет необходимости ждать завершения копирования файлов. Вы можете даже соединиться с другим сервером, пока идёт процесс копирования.
  • Менеджер передачи показывает прогресс копирования файлов, а так же файлы находящие в очереди.
  • Клиент FTP использует Windows 9x/NT/XP стиль листбоксов для отображения содержимого удалённого сервера, а так же системные иконки и меню.
  • Можно указать количество попыток законнектиться, а так же интервал между попытками соединения с сервером.
  • Полная поддержка Drag-and-Drop. Можно перетаскивать один или несколько файлов и даже целые папки.
  • Простое конфигурирование сайта FTP: имя пользователя, пароль, порт, начальная директория на сервере, количество попыток и папка для скачивания поумолчнию.

Ниже следует краткое описание наиболее важных классов приложения:

CMainFrame

CMainFrame содержит основную часть кода по управлению соединением FTP. Он следит за соединением с сервером, началом закачки/скачивания, а так же обрабатывает другие, связанные с FTP действия.

CFTPListView

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

CConnectDlg

Этот класс (Менеджер сайтов) позволяет пользователю управлять FTP сайтами. Вы можете добавлять/изменять и удалять сайты, а также настраивать такие свойства как адрес сервера, порт, имя пользователя и пароль. Настройки каждого сайта сохраняются на диск при помощи сериализации.

CTransferManagerDlg

CTransferManagerDlg (= Менеджер передачи) следит за очередью передачи файлов. Он показывает текущую передачу всех файлов, а так же файлы находящиеся в очереди. Можно настроить количество одновременно загружаемых файлов, чтобы не расходовать слишком много ресурсов системы. Каждое закачивание/скачивание обрабатывается отдельным потоком при помощи классов CDownloadThread или CUploadThread.

CDownloadThread

CDownloadThread создаёт новое соединение с FTP сервером и отображает диалог прогресса, в котором показывается состояние передачи файла. Когда скачивание завершено (или прервано), класс уведомляет менеджер передачи, чтобы тот обновил пользовательский интерфейс.

CUploadThread

CUploadThread создаёт новое соединение с FTP сервером и отображает диалог прогресса, в котором показывается состояние передачи файла. Когда закачивание завершено (или прервано), класс уведомляет менеджер передачи, чтобы тот обновил пользовательский интерфейс.

Downloads

Скачать демонстрационный пример - 105 Kb
Скачать исходник - 152 Kb