Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Команды клиент сокета


LFRT ©   (2006-12-13 11:13:00) 

В сокетах (TClient/Server.Socket-ы) я только разбираюсь.
Какие команды необходимо посылать серверу чтобы например  закачать файл (протокол HTTP/FTP).
Если можно приведите простой пример или часть примера.
Я пробовал с локальным (localhost порт 21) FTP сервером, посылаю команды, а сервер не отвечает,
хотя используя  готовый клиенте отклик идет.
Код  FTP клиента ниже.

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Open;//открываю
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
 Socket: TCustomWinSocket);
begin
   with log.Lines Do //эти данные получаю от сервера
 begin
 Add('LocalHost - '+Socket.LocalHost);
 Add('LocalAddress - '+Socket.LocalAddress);
 Add('RemoteHost - '+Socket.RemoteHost);
 Add('RemoteAddress - '+Socket.RemoteAddress);
 end;

end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
 Socket: TCustomWinSocket);
begin
 with log.Lines Do
 begin
 Add(Socket.ReceiveText);
 end;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  ClientSocket1.Close
end;

procedure TForm1.ClientSocket1Write(Sender: TObject;
 Socket: TCustomWinSocket);
begin
Beep;
// а вот на эти команды сервер не отвечает, как правильно их отправлять?
Socket.SendText('user new');
Socket.SendText('pass new');
Socket.SendText('syst');
end;


LFRT   (2006-12-13 12:32:00) [1]

Спасибо всем ответившим на вопросы, разбираюсь дальше...


Сергей М.   (2006-12-13 12:08:00) [2]


> команду сервера


Сервер никаких "команд" не подает.
Командует клиент, а сервер лишь возвращает результатвыполнения команды.


Сергей М.   (2006-12-13 12:07:00) [3]

И то и другое.
Ибо это функции и они возврвщают отнюдь не бессмысленный результат.


LFRT   (2006-12-13 11:57:00) [4]

Добавил #10#13 обмен пошел.
И сразу возник еще вопрос. Анализировать необходимо
команду сервера (строку) ReceiveText или число возвращаемое функцией
SendText.


Dmitrij_K   (2006-12-13 11:27:00) [5]

Отправить команду, ждать ответ, в зависимости от ответа отправлять следующую команду.
Команда завершается переводом строки - #13#10.
Какие команды необходимо посылать серверу чтобы например  закачать файл (протокол HTTP/FTP).
Если можно приведите простой пример или часть примера.
Лучше  для начала готовыми компонентами пользуйся, например библиотека Indy


Наверх

Титульная страница Поиск, карта сайта Написать письмо