Форум: "Сети";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
ВнизОбход FTP Найти похожие ветки
← →
Greg King (2002-12-17 09:30) [0]вопрос: требуется обойти заданный FTP (адрес, порт, начальный
каталог, имя и пароль юзера м.б. учитывать прокси) и создать список файлов и
каталогов на нем. Пытаюсь родить это используя компоненту NMFTP, но
чего-то не получается. Monster FTP очень глючный. есть у него процедура BuildFileList, но она как то криво работает
Взываю к помощи, может кто ваял такое, буду признателен за любую
помошь: кусок исходника, компонент и т.п.
← →
Reindeer Moss Eater (2002-12-17 09:33) [1]Пытаюсь родить это используя компоненту NMFTP, но
чего-то не получается.
Что именно?
← →
Greg King (2002-12-17 10:05) [2]мне надо обойти FTP сервер и построить список файлов и/или каталогов на нем для последующей обработки, но это уже не важно.
главное - обойти и построить.
просто получить список в виде StringList
← →
Reindeer Moss Eater (2002-12-17 10:22) [3]Что конкретно не получается?
← →
Greg King (2002-12-17 11:06) [4]не получается реализовать рекурсивный (или иной) обход каталогов. Я понимаю, что сделать можно все, что угодно, но хотелось бы малой кровью.
Пытался сделать это основываясь на алгоритме обхода каталогов на локальном диске, но в данном случае несколько другая специфика. Получаю список каталогов с указанного в качестве начального, далее необходимо рекурсивно посетить каждый каталог, получить спикок дочерних каталогов (каждый в виде своего списка), причем помнить уровень вложенности, не забывать вернуться назад и подчистить то, что насоздавал. Все вроде нормально (более или менее) но в некоторый момент происходит простое замирание программы в момент вызова list - процессор загружен на 100 проц. и программу приходится снимать принудительно. С чем связано - не пойму. Вот и интересуюсь кто как это когда и делал.
← →
Reindeer Moss Eater (2002-12-17 11:13) [5]но в некоторый момент происходит простое замирание программы
В таких случаях очень помогает протоколирование работы программы в файл, эталонная струтура каталогов используемого сервера и внимательный разбор того и другого.
← →
Anatoly Podgoretsky (2002-12-17 11:25) [6]Greg King © (17.12.02 11:06)
Специфика не отличается, один к одному, за исключением используемых команд и почти полностью совпадает с действиями в командной строке а иногда и не одличается, если вервер поддерживает команду DIR
← →
Greg King (2002-12-17 11:31) [7]так в том то и дело что место замирания постоянно меняется. Я даже по шагам смотрел. Сначала замирает на первых каталогах, затем позиция замирание отодвигается дальше и в произвольный (я не смог определить причину) все начинается сначала. Я благодарен за отзыв, но советы типа "надо внимательно..." мне не требуются, я все это прекрасно понимаю. Встретил где-то ссылку на Monster FTP. Когда прочитал описание, понял - это то что надо, но реализация весьма хромает и наблюдается сильное расхождение и без того скудной документации с этой самой реализацией (например, описание BuildFileList, где сказано, что она [процедура] строит список файло в и каталогов начиная с переданного в качестве параметра, а на деле ей передается недокументированная структура и при вызове начинается зацикленная попытка обхода корневого каталога с последующим вывалом программы вероятно по причине переполнения стека), но это все не столь важно, я пытаюсь получить от продвинутого меньшиства совета. Очень не хочется изобретать пресловутый велосипед. А если интересно, я хочу сделать поисковую систему по FTP серверам на связке ОбходКаталоговСерверов-БД-CGI-WebInterface
← →
Greg King (2002-12-17 11:35) [8]To Anatoly Podgoretsky © (17.12.02 11:25)
Специфика не отличается, один к одному, за исключением используемых команд и почти полностью совпадает с действиями в командной строке а иногда и не одличается, если вервер поддерживает команду DIR
Дабы не входить в бессмысленную дискуссию хотелось бы увидеть пример
← →
Reindeer Moss Eater (2002-12-17 11:51) [9]так в том то и дело что место замирания постоянно меняется
Может программа тут совсем не при чем?
Может канал иногда под завязку занят? Может FTP сервер виноват?
Может проверить клиента в "тепличных" условиях (сервер и клиент на одном хосте)?
Это чтобы не входить в бессмысленную дискуссию.
Ошибка должна быть локализована прежде всего, а потом уже последуют рекомендации по ее устранению
← →
Greg King (2002-12-17 12:06) [10]сервер на самом что ни на есть локальном хосте.
а локаливать ошибку дело не сложное в данном случае: идем по шагам, доходим до FTP1.list, первый раз проходит, второй - проходит, третий - встало! Причем сервер (если я не ошибаюсь т.к. пару дней прошло) говорит, что последняя команда была list.
В общем буду ломать пока голову, если будут конструктивные предложения, буду рад услышать. Кстати, если кто работал с упоминавшейся выше библиотекой Monster FTP было бы интересно услышать отзывы о ней.
← →
Anatoly Podgoretsky (2002-12-17 12:14) [11]Я работаю как правило через консольный FTP, но это полностью относится и к программным методам, время выполнения команды LIST (я использую ls) может быть весьма длительным, да и кроме ее посылается еще много команд и ожидает ответ на них.
Для тебя более сложной задачей будет анализ полученного списка, многообразие форм просто убивает.
← →
Miguel (2003-01-29 18:24) [12]Летом прошлого 2002 года натолкнулся на эту ошибку: команда List не работает под W"2000. В W"98 -- всё в порядке. По-моему барахлит компонент. Из-за лимита времени пришлось селектировать платформу ОС. Интересно, что компонент в новых версиях Delphi не обновлялся, а на "родной" html-странице предлагаются последние версии за деньги. Хочу узнать, как разрешилась проблема? :))
← →
Logo (2003-01-30 09:12) [13]Используй алгоритмы поиска в длину или в ширину. учитывая то что у тебя граф есть дерево. эти алгоритмы имеют неплохую оценку сверху по времени.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c