Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 17.11.2015, 22:17   #1
rachina
Пользователь
 
Регистрация: 15.03.2015
Сообщений: 27
Репутация: 10
Печаль FTP. LIST. вывод результатов

доброго времени суток.
пытаюсь написать свой FTP-клиент.
Как вывести список файлов из директории?

отправил серверу команду LIST, и в ответ он выдал "ок. успешно".
использую активное соединение
Код:
ClientSocket1.Socket.SendText('LIST' + #13#10);
я так понимаю, что в ответ мне выдаётся поток.
но как вывести этот список файлов, допустим в мемо?
ну вообще никак не удаётся...

пытался вот что-то тут натворить, но не выходит. пытался тут что-то, но...
Код:
procedure TForm1.ServerSocket1ThreadStart(Sender: TObject;
  Thread: TServerClientThread);
  var FileStream: TFileStream;
begin
FileStream:= TFileStream.Create('qqq.txt', fmOpenRead);
 // FileStream.CopyFrom(Thread, Thread.Size);
 Thread.
  Memo1.Lines.Add('что-то передаётся поток');
end;
как вывести поток от сервера? подскажите, пожалуйста.
Код:
procedure TForm1.Button3Click(Sender: TObject);
//var FileStream: TFileStream;
begin
     ClientSocket1.Socket.SendText('TYPE I' + #13#10);
     ClientSocket1.Socket.SendText('SYST' + #13#10);
     ClientSocket1.Socket.SendText('CWD /' + #13#10);
     ClientSocket1.Socket.SendText('TYPE A' + #13#10);
     ClientSocket1.Socket.SendText('PWD' + #13#10);
     ServerSocket1.Open;
     ClientSocket1.Socket.SendText('PORT 127,0,0,1,194,50' + #13#10);   //  49714
     //ClientSocket1.Socket.SendText('LIST' + #13#10);
     //ClientSocket1.Socket.SendText('CWD /' + #13#10);
     //ClientSocket1.Socket.SendText('MKD qwerty' + #13#10);     //создание директории
     //ClientSocket1.Socket.SendText('PASV' + #13#10);
 
     //ClientSocket1.Socket.SendText('RETR qqq.txt' + #13#10);
end;
 
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
    Memo1.Lines.Add('Есть контакт');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
   ClientSocket1.Socket.SendText('LIST' + #13#10);
end;
 
procedure TForm1.ServerSocket1ThreadStart(Sender: TObject;
  Thread: TServerClientThread);
  var FileStream: TFileStream;
begin
FileStream:= TFileStream.Create('qqq.txt', fmOpenRead);
 // FileStream.CopyFrom(Thread, Thread.Size);
 Thread.
  Memo1.Lines.Add('что-то передаётся поток');
end;
как вывести поток от сервера? подскажите, пожалуйста
чуть ниже прикрепляю сам проект на всякий случай
КлиентFTP.rar
rachina вне форума   Ответить с цитированием
Старый 17.11.2015, 22:45   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6832
По умолчанию

Цитата:
я так понимаю, что в ответ мне выдаётся поток.
Нет. Поток выдается в порт, который открыт для приема данных. В Командный порт выдается только результат операции - успешно или не очень.
Открывай еще один сокет, либо пассивным либо активным методом, и считывай то, что тебе сервер передаст уже из второго сокета.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод результатов таблиц Mansitto SQL, базы данных 3 25.03.2015 10:44
FTP.List Peshka5 Работа с сетью в Delphi 6 26.07.2014 19:05
FTP неоднозначные результаты LIST Stilet Свободное общение 6 07.11.2013 13:17
TIdFTP.List Сбрасывает подключение к FTP. sdsfy Работа с сетью в Delphi 0 21.03.2011 05:54
Вывод результатов! Серый Рыйцарь Помощь студентам 3 21.05.2009 07:46


17:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru