Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.24;
Скачать: CL | DM;

Вниз

Примеры 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.02 c
15-1215534864
Dreamse
2008-07-08 20:34
2008.08.24
Компиляция драйвера на Delphi


1-1197018990
Rav
2007-12-07 12:16
2008.08.24
Как преобразовать TField.DisplayWidth в ListView.Column[x].Width?


8-1184700559
Layner
2007-07-17 23:29
2008.08.24
Ищу "удобный холст" для рисования векторными фигурами


2-1216323522
Vikindos
2008-07-17 23:38
2008.08.24
Поиск фрагментов в тексте и замена


2-1216477996
YaroslavSh
2008-07-19 18:33
2008.08.24
Помогите с отчётом в QuickReport