Оболочка WinInet для FTP в Delphi

Дайте совет, пожалуйста. Я хочу разработать клиентский менеджер загрузки FTP / SFTP / FTPS в Delphi на WinInet. Что лучше делать (Indy, ISC Components, WinInet ...)? Может уже есть решения?


person YoungMaster    schedule 09.10.2011    source источник
comment
WinInet не поддерживает SFTP.   -  person Premature Optimization    schedule 09.10.2011


Ответы (3)


Вы не указали свою версию Delphi и целевую платформу (x64 и MacOSX доступны в последней версии Delphi), поэтому вот несколько общих советов:

  1. WinInet: вообще нет поддержки FTPS, так что это исключает это для вас.

  2. Indy: поставляется с Delphi (бесплатно), полностью поддерживается в последняя версия Delphi, зрелая, широко используемая, использует синхронную модель (вам нужно использовать потоки, чтобы сетевой доступ не блокировал графический интерфейс).

  3. Компоненты ICS: бесплатно, зрелый, по-видимому, на данный момент нет поддержки Delphi XE2, поэтому нет явной поддержки x64. Широко используемый. Использует асинхронную модель (нет необходимости в потоках, использует обратные вызовы в потоке графического интерфейса).

  4. Synapse: менее известная библиотека (бесплатная), более компактная и простая в использовании. поймите чем два вышеупомянутых. Также есть поддержка FTPS, не обновлялась в последнее время, но нормально работает с Delphi 2007-2009. Синхронная модель.

Я работал со всеми четырьмя перечисленными выше, и их трудно рекомендовать одно перед другим. Все они могут выполнить то, что вам нужно (кроме WinInet), все сводится к тому, какая модель (синхронная / асинхронная) вам удобнее или уже используется в вашем приложении, и какой уровень поддержки платформы / компилятора вам нужен. Если вы не видите причин для выбора №3 или №4, я бы сказал, что переходите к Indy, поскольку он связан с Delphi, имеет поддержку x64 / MacOSX и, вероятно, будет работать в следующем версия Delphi тоже.

person haimg    schedule 09.10.2011
comment
Для одного приложения мы также обнаружили и оценили вышеуказанные варианты, но решили использовать psftp от putty.org. exe и вызовите его через CreateProcess, что представляет собой совершенно другой способ справиться с этим, но обеспечивает необходимую степень стабильности и настраиваемости. - person Stijn Sanders; 10.10.2011

Я не могу вспомнить точных причин, но когда нам нужно было реализовать sFTP и FTP, мы выбрали ipWorks (http://www.nsoftware.com/ipworks) и ipWorks SSL / SSH. Хотя платить за это не я, поэтому меня не волновала стоимость.

Возможно, это было просто потому, что мы уже использовали ipWorks для FTP.

person MikeD    schedule 09.10.2011

У меня есть ротине для выполнения внешнего приложения, в данном случае это приложение WinSCP. Если есть необходимость, могу вставить пример.

person Marcos Faneli    schedule 03.04.2018
comment
Этот ответ на самом деле не отвечает на вопрос, пожалуйста, посмотрите утвержденный ответ и посмотрите, можете ли вы добавить к нему еще - person Ibo; 03.04.2018
comment
Добавьте пример, иначе ваш ответ не соответствует формату, необходимому для ответа на Stack Overflow. - person Martin Prikryl; 05.04.2018