Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.28;
Скачать: CL | DM;

Вниз

TidTCPClient сколько данных передали?   Найти похожие ветки 

 
Чудак   (2008-11-17 22:22) [0]

передаю файл через TidTCPClient

client:TidTCPClient

передаю так:
client.writestream(stream, true, true, stream.size);

Как мне во время передачи отобразить сколько данный в данный момент передано???

спасибо


 
Eraser ©   (2008-11-18 04:09) [1]

см. события OnWork, OnWorkBegin, OnWorkEnd.


 
Чудак   (2008-11-18 12:38) [2]


> Eraser ©   (18.11.08 04:09) [1]
> см. события OnWork, OnWorkBegin, OnWorkEnd.

Что то в этих событиях ничего не нашел, или опыта искать не хватает
в OnWork есть тока всего отправлено но оно тока псле того как все отправится


 
Сергей М. ©   (2008-11-18 12:53) [3]


> тока псле того как все отправится


"все" - это сколько конкретно ?


 
Чудак   (2008-11-18 12:55) [4]


> "все" - это сколько конкретно ?

файл полностью (т.е. размер потока)


 
Сергей М. ©   (2008-11-18 12:58) [5]

Я тебя не спрашиваю полностью или не полностью, я спрашиваю про конкретный размер файла, на котором ты экспериментировал ..


 
Чудак   (2008-11-18 13:00) [6]

файл: 60 мегабайт
в OnWork после тока как передался и вылез его полный размер тоже 60 мегабайт


 
Сергей М. ©   (2008-11-18 13:10) [7]

Следует создать свой экз-р TIdIOHandler (в нем и обрабатывать OnWork) и  назначить его св-ву IOHandler объекта TIdTCPClient


 
Чудак   (2008-11-18 15:15) [8]


> Следует создать свой экз-р TIdIOHandler (в нем и обрабатывать
> OnWork) и  назначить его св-ву IOHandler объекта TIdTCPClient

Ого, а примерчик можно а то сложновато сразу вьехать


 
Сергей М. ©   (2008-11-18 15:28) [9]

ПРимеры имеются в папке с демо-проектами Инди


 
Чудак   (2008-11-18 16:17) [10]


> ПРимеры имеются в папке с демо-проектами Инди

Я извиняюсь но в примерах такого нету
Ну нету как с клиента отслеживать сколько передалось данных:(((


 
Slym ©   (2008-11-18 16:26) [11]

проще будет написать TFileStreamReadCalc...
наследника от TFileStream и в нем считать, только точность будет в "буферсайз" который в client.writestream используется
можно прокладку наследника от TStream написать который читает из присоединенного TStream подсчитывает и отдает... только теже проблемы с точностью


 
Сергей М. ©   (2008-11-18 16:46) [12]

Ну тогда пользуй TIdConnectionIntercept

Уж к нему-то примеры есть 100%-но


 
Чудак   (2008-11-18 17:17) [13]


> Slym ©   (18.11.08 16:26) [11]
> проще будет написать TFileStreamReadCalc...
> наследника от TFileStream и в нем считать, только точность
> будет в "буферсайз" который в client.writestream используется
> можно прокладку наследника от TStream написать который читает
> из присоединенного TStream подсчитывает и отдает... только
> теже проблемы с точностью

А можно примерчик набрасать упроженный???


 
Сергей М. ©   (2008-11-18 18:58) [14]


> Чудак



> набрасать



> упроженный


Сам-то понял что сказал ?)

Брась упроженная - это в лес к лешим, а не к мастерам делфи)


 
Чудак   (2008-11-18 19:40) [15]

ну ладно глумиться то
Набросать примерчик можно???
А то я совсем запутался


 
Сергей М. ©   (2008-11-18 19:45) [16]


> Чудак   (18.11.08 19:40) [15]


Ты справку-то проштудировал, запутанно-углумленный ты наш убоже ?)

Или так и будешь на паперти попрошайничать да язык родной коверкать ?


 
Чудак   (2008-11-18 20:05) [17]

читал вот выдержка из книги глубины indy
Затем возникает серия событий OnWork. В событие OnWork передаются Sender, WorkMode и текущий WorkCount. Данное событие используется для отображения прогресса.
Как? вразумите неверного его отобразить!!!!!


 
Сергей М. ©   (2008-11-18 20:25) [18]


> читал вот выдержка .. затем возникает серия


Что. вот так прямо прочитал выдержка и сразу возникает ?!

Охх ё ..

Ну а что насчет [12] ?
Что там, в Глубинах, по этому поводу возникает сразу прочитамши ?


 
Чудак   (2008-11-18 20:32) [19]

про TIdConnectionIntercept тама ничерта нет

и зачем грамоздит если как то можно без него читать сколько передалось!
а с TIdConnectionIntercept я ваще повис там чето все замарочено:)


 
Сергей М. ©   (2008-11-18 20:48) [20]

Ох и стыдно же, наверно, быть таким тупым ..


 
Чудак   (2008-11-18 20:57) [21]

исправлюс

если сделать так
procedure TForm1.cliWork(Sender: TObject; AWorkMode: TWorkMode;
 const AWorkCount: Integer);
begin
progressbar.Progress:=AWorkCount;
end;

тут вообщем вроде все пошло
но мне кажется это лажа
иу клиента завешение намного ранше (зависит от размеа файла)происходит чем у сервера почему???
Как скорость то узнать?
таймером читать AWorkCount не получается:(


 
Сергей М. ©   (2008-11-18 21:35) [22]


> все пошло


Не вижу ничего пошлого


 
Чудак   (2008-11-19 00:06) [23]

хотелось бы за место стеба увидеть ответ на вопрос как определить скорость передачи данных


 
Eraser ©   (2008-11-19 03:26) [24]

> [23] Чудак   (19.11.08 00:06)


> хотелось бы за место стеба увидеть ответ на вопрос как определить
> скорость передачи данных

бери производную от количества данных по времени передачи этих данных - будет тебе скорость. эт вроде в школе изучается )


 
Сергей М. ©   (2008-11-19 08:26) [25]


> Чудак   (19.11.08 00:06) [23]


Хотелось бы вместо дикого коверкания языка услышать нормальное вразумительное описание проблемы - что сделано и что не получается.



Страницы: 1 вся ветка

Текущий архив: 2008.12.28;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.069 c
2-1227094803
Golden
2008-11-19 14:40
2008.12.28
Вопросик по StringReplace


15-1224965370
Real
2008-10-26 00:09
2008.12.28
Singularity - кто-нибудь ставил?


15-1225547562
@!!ex
2008-11-01 16:52
2008.12.28
Помогите разобраться с построением


15-1225077576
Slider007
2008-10-27 06:19
2008.12.28
С днем рождения ! 27 октября 2008 понедельник


2-1226992902
RamzesIII
2008-11-18 10:21
2008.12.28
TQRCahr