Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
ВнизПримеры Indy Найти похожие ветки
← →
Michael (2008-07-16 10:38) [0]Доброго времени суток!
Долго гуглил, но так и не нашел демки от Indy (конкретно - FTP Client).
Искал на:
http://www.nevrona.com/indy (как написано в C:\Program Files\Borland\Dlephi7\Demos\Indy\Readmy_Indy.txt)
http://www.indyproject.org
http://www.smartftp.com
и др.
Просьба - скиньте ссылочку на примеры от Indy.
Заранее благодарен
← →
brother © (2008-07-16 10:41) [1]а на винте поиск папок устрой: indyftp
удивишься)
← →
DVM © (2008-07-16 10:53) [2]
>
> Michael
http://www.indyproject.org/Sockets/Demos/index.EN.aspx
← →
Michael (2008-07-16 11:07) [3]
> brother © (16.07.08 10:41) [1]
> а на винте поиск папок устрой: indyftpудивишься)
Удивился ) Тому, что "Поиск не дал результатов" (Копирайт)
> DVM ©
Спасибо большое!
← →
Michael (2008-07-16 11:13) [4]Еще вопрос:
в процессе рассмотрения ответов на вопросы, касающиеся программированию FTP-клиентов, нашел различные мнения относительно компонентов IdFTP и NMFTP. Что можете сказать - какой из них предпочтительней?
← →
brother © (2008-07-16 11:14) [5]> Удивился ) Тому, что "Поиск не дал результатов" (Копирайт)
удивился еще больше (копирайт)
← →
Palladin © (2008-07-16 11:18) [6]
> какой из них предпочтительней?
NM больше нет среди нас начиная с D7... а предпочтительней... в последнее время больше нравится ICS чем indy
← →
Michael (2008-07-16 11:25) [7]
> в последнее время больше нравится ICS чем indy
Извиняюсь за свою лень, но... ссылочку не дадите?
← →
DVM © (2008-07-16 11:30) [8]
> Michael (16.07.08 11:13) [4]
NM компоненты несколько глюкавые были. Лучше их не использовать, да и нет их в новых версиях Delphi.
Indy - блокирующие сокеты. ICS - неблокирующие асинхронные сокеты.
У каждого набора компонентов свои преимущества и недостатки.
Indy проще в использовании "в лоб". Так как блокирующая природа позволяет выполнять операции с ними последовательно (что легче для понимания) и никак иначе. Но блокирующая природа становится камнем преткновения при создании приложений с пользовательским интерфейсом, которому блокирующая природа инди противоестественна. Приходится применять потоки и пр.
ICS - неблокирующие асинхронные сокеты. Отлично вяжутся с событийной моделью Windows и интерфейсом пользователя, но асинхронная природа усложняет резко логику приложения, поскольку разные действия получаются разнесены во времени и по коду. Несколько сложно для понимания.
← →
Palladin © (2008-07-16 12:47) [9]http://www.overbyte.be
← →
Anatoly Podgoretsky © (2008-07-16 12:56) [10]> DVM (16.07.2008 11:30:08) [8]
ICS - поддерживает и неблокирующие синхронные сокеты. Как правило большинство методов имеют две формы синхронное или ассинхронное выполнение.
← →
DVM © (2008-07-16 13:02) [11]
> ICS - поддерживает и неблокирующие синхронные сокеты
Понятно.
← →
Michael (2008-07-16 20:58) [12]Всем
> Palladin
Спасибо!
> Anatoly Podgoretsky
С блокировкой исполнения мне вроде бы все понятно. Не могли бы Вы рассказать, чем отличается синхронная работа FTP-клиента от асинхронной?
Скажем, чем отличается процедура закачки файла в синхронном и асинхронном режиме. Ну или подскажите, где почитать.
Спасибо.
← →
DVM © (2008-07-16 23:11) [13]
> Michael (16.07.08 20:58) [12]
Работа с синхронными неблокирующими сокетами обычно состоит в том, что функцией select() проверяют постоянно состояние интересующего сокета и как только нужное состояние достигнуто сразу выполняют нужную операцию. Сокет при этом неблокирующий, т.е. сетевые функции не блокируют работу вызвающего потока.
В асинхронном режиме о смене состояния сокета программа узнает по приходу в окно соответствующего сообщения. Сразу по приходу сообщения программа может вызывать соответствующие сетевые функции. Сокеты тоже неблокирующие. Для Windows это наиболее близкий по духу вариант.
← →
DVM © (2008-07-16 23:12) [14]
> Michael (16.07.08 20:58) [12]
Ну и в противоположность всему этому есть еще блокирующие сокеты. Функции работающие с такими сокетами не возвращают управления в вызывающий поток пока не будет достигнуто запрашиваемое состояние сокета или не будет возвращена ошибка.
← →
Michael (2008-07-17 20:24) [15]
> DVM ©
Прошу прощения, но я все-равно не понял. Блокировка работы сокета мне понятна - в блокирующем режиме пока процедура/функция не выполнилась, поток/сокет "зависает". В неблокирующем - нет.
А с чем синхронизируется или несинхронизируется выполнение процедуры/функции? С состоянием сокета? Зачем? Не понятно...
← →
Anatoly Podgoretsky © (2008-07-17 22:29) [16]
> Скажем, чем отличается процедура закачки файла в синхронном
> и асинхронном режиме. Ну или подскажите, где почитать.
> Спасибо.
Процедура ничем, и там и там PUT/GET
А различие в том, что в случае ассинхронной работы, я не должен ожидать окончания операции, а заниматься другой полезной работой, например качать еще тысячу файлов. Как только файл будет закачен будет сигнал - в терминамах событийного программирование - возникнет событие ОкончаниеЗагрузкиФайла или событие ОшибкаЗагрузкиФайла.
← →
Anatoly Podgoretsky © (2008-07-17 22:33) [17]
> Michael (16.07.08 20:58) [12]
Ты в Дельфи то программировал?
Например на нажатие кнопки возникает событие, которое ты обработаешь именно в этот момент, а не сидишь и ждешь, когда будет нажата кнопка. В случае не событийного, например для формы с 10 кнопками придется создать 10 потоков, по одному на кнопку и по одному на каждую операцию. Именно этим отличается ICS от Инди.
Инди это мир Никсов, которое принудительно портировали в Виндоус. Не наша это идеология, вражеская.
← →
Michael (2008-07-18 11:41) [18]
> Anatoly Podgoretsky
Спасибо, буду смотреть, что мне лучше подходит.
Всем спасибо, обсуждение закрыто.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.049 c