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

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

Как узнать скорость передачи данных на FTP сервер????


Maxim Pshevlotsky ©   (2003-07-08 15:59:00) 

Как узнать скорость передачи данных на FTP сервер. Как мне кажется нужно использовать TNMFtp но что-то он не работает у меня(Почему непойму?) Пробовал даже пример с файла справки и он не пашет. Пишет "Host Filed". Индевский вообще како-то непонятный компонент.
echo.Host:="www.microsoft.com";
echo.Connect;
Label1.Caption:=echo.Echo("H");
Label2.Caption:=FloatToStr(echo.ElapsedTime);
Echo.Disconnect;


Карелин Артем   (2003-07-09 12:55:00) [1]

Maxim Pshevlotsky © (09.07.03 05:58)
А как насчет событий при отсылки пакетов? Названия не помню, но через них точно делал. А время сам отмерял.


Anatoly Podgoretsky   (2003-07-09 10:58:00) [2]

Зато известен размер, количество переданных байт, прошедшее время. Функция из задачника начальной школы.


Maxim Pshevlotsky   (2003-07-09 05:58:00) [3]

Donatas (09.07.03 00:10)

Может я и плохой математик конечно но:
1. Типа в TIDFTP нет НИтаких событий и нет НИBytesSent
2. Нужно узнать время до того как отправиться на сервер какой-нибудь файл, тоесть не известно НИскорости НИвремени

Что скажете?


Donatas   (2003-07-09 00:10:00) [4]

а типа математикой заняться? :)
OnPacketRecvd
OnPacketSent
BytesSent: longint;
ы? типа объем/на время поделить :)


Maxim Pshevlotsky   (2003-07-08 18:11:00) [5]

Карелин Артем © (08.07.03 16:09)

ОЙ ЕЛКЛМН ПТЬФУ БЛИН ПАРДОН ОШИБСЯ НЕ TNMFTP а TNMECHO


Maxim Pshevlotsky   (2003-07-08 17:49:00) [6]

Карелин Артем © (08.07.03 16:09)

Хорошо, ну тогда как правильно узнать время. Я делаю вот так:
{Size - Размер файла, возвращает время в сек.}
function TfMain.WhatsTime(Size: Integer): Double;
Var Time: TTimer; Len: Integer;
begin
Time:=TTimer.Create(nil);
Time.Interval:=1; //Поставил 1 хотя минимальный тик=50
Time.OnTimer:=TimeTimer;
Time.Enabled:=True;
ftp.WriteLn("NOOP"); //Посылаю NOOP и засекаю время за сколько
( "NOOP")

Карелин Артем © (08.07.03 16:09)

Хорошо, ну тогда как правильно узнать время. Я делаю вот так:
{Size - Размер файла, возвращает время в сек.}
function TfMain.WhatsTime(Size: Integer): Double;
Var Time: TTimer; Len: Integer;
begin
Time:=TTimer.Create(nil);
Time.Interval:=1; //Поставил 1 хотя минимальный тик=50
Time.OnTimer:=TimeTimer;
Time.Enabled:=True;
ftp.WriteLn("NOOP"); //Посылаю NOOP и засекаю время за сколько
//ответит

ftp.WaitFor("NOOP");
Time.Enabled:=false;
Time.Free;
Result:=((MSec)*Size)/1000; //Возвращает в сек. и еще врет на сек. +10!
MSec:=0;
end;
procedure TFMain.TimeTimer(Sender: TObject);
begin
MSec:=MSec+1;
end;


Карелин Артем   (2003-07-08 16:09:00) [7]

Мдя. Что должен показать данный код? Только прежде чем ответить помедитируй над кодом в поисках смысла.
P.S. Скорость=Обьем/время.


Наверх

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