Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2010.02.28;
Скачать: [xml.tar.bz2];

Вниз

Определение переданной информации TWinSocketStream   Найти похожие ветки 

 
sashap   (2008-06-15 10:44) [0]

Добрый день!
...и сразу к делу!
Есть TClientSocket и TServerSocket в блокирующем режиме. Клиент коннектится к серверу и передает много больший файлов.

Вот кусок из кода клиента:
...
var
 SocketStream:TWinSocketStream;
 FS:TFileStream;
begin
 ...
 SocketStream:= TWinSocketStream.Create(ClientSocket^.Socket,10000);
 ...
 for i:= 1 to file_count do
 try
   FS:= TFileStream.Create(filenames[i], fmOpenRead);
   SocketStream.CopyFrom(FS, FS.Size);
 finally
   FS.Free;
 end;
 ...
end;


У клиента также есть Timer, который каждую секунду выводит на StatusBar"e количество отправленных байт. Как можно узнать это в процессе передачи файла (т.к. он очень большой, для того, чтобы ждать окончания передачи)?
Я пробовал FS.Position и SocketStream.Size, но они не подходят...


 
Сергей М. ©   (2008-06-15 15:33) [1]

Следует пользовать своего наследника класса TWinSocketStream с перекрытым вирт.методом Write, в теле которого вызывается метод предка, параметры и результат вызова которого дают исчерпывающую инф-цию по интересующему вопросу.


 
sashap   (2008-06-15 15:59) [2]

Спасибо за ответ! =)

Перефразированный вопрос:
Можно ли в процессе работы TWinSocketStream"а узнать, сколько байт он отослал? Или, Можно ли узнать, на какой стадии находится передача TFileStream (TFileStream.Position не работает)?

Извините, что неправильно выразился.


 
Сергей М. ©   (2008-06-15 16:01) [3]


> Можно ли в процессе работы TWinSocketStream"а узнать, сколько
> байт он отослал?


см. [1]


>  Или, Можно ли узнать, на какой стадии находится передача
> TFileStream


Тоже самое, но перекрывать следует Read


 
sashap   (2008-06-15 19:23) [4]

Огромное спасибо!
Теперь все работает отлично!



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

Форум: "Сети";
Текущий архив: 2010.02.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.004 c
15-1260860008
Alkid
2009-12-15 09:53
2010.02.28
Вспоминая: "Почему программисты не хотят структурировать код"


15-1260807632
Kostafey
2009-12-14 19:20
2010.02.28
Шрифты в редакторе формул Word-а


2-1261744269
vegarulez
2009-12-25 15:31
2010.02.28
вопрос про XML


15-1260893769
ocean
2009-12-15 19:16
2010.02.28
Бунт машин


13-1124615958
Darklight
2005-08-21 13:19
2010.02.28
Экземпляр класса ещё не создан как проверить его на null referenc





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский