![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Команды клиент сокета
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