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

Вниз

Быстро передать файл клиенту через сервер приложений (MIDAS)?   Найти похожие ветки 

 
Чебуратор   (2004-09-10 14:53) [0]

Проблема такая : необходимо передать файл клиенту через сделанный сервер приложений, как можно быстрее. Но как это сделать ? Как передать ????
Пробовал сделать тупо - в интерфейсе сервера сделал процедуру которая даёт кусочек файла клиенту (скажем 1 КБ), клиент получает кусочек и дописывает в файловый поток у себя на жёстком диске. Проблема - офигенное количество времени процессора жрётся на перекачку одного файла да и качает долго, чтобы перекачать файл в 700 метров блоками по 1 Кб надо 700000 обращений к серверу.

Вопрос : уважаемые мастера - есть ли в WinAPI интерфейсы которые я мог бы передать клиенту для управления файлом на стороне клинта ?

Или подскажите статью или материал. Вообщем приму любое решение...

Заранее спасибо.


 
Romkin ©   (2004-09-10 15:12) [1]

НУ можно просто в variant все упаковать.
Но для этого специально есть IStream :)
Буквально - это поток. Смотри TStreamAdapter
А на клиенте с ним удобно работать через TOleStream
см CreateStreamOnHGlobal также


 
Чебуратор   (2004-09-10 15:25) [2]

А что за TStreamAdapter ?
И как привязать файл к IStream ?


 
Romkin ©   (2004-09-10 15:30) [3]

Как-как...

function GetStream(const FileName: string): IStream;
var
 FileStream: TStream;
begin
 FileStream := TFileStream.Create(FileName);
 Result := TSreamAdapter.Create(FileStream, soOwned);
end;

Вполне должно прокатить...


 
Игорь Шевченко ©   (2004-09-10 15:32) [4]


> есть ли в WinAPI интерфейсы которые я мог бы передать клиенту
> для управления файлом на стороне клинта ?


Named Pipes, например

http://www.delphimaster.ru/articles/named_pipes/index.html


 
Romkin ©   (2004-09-10 15:38) [5]

Игорь, у него связь по DCOM :)))


 
Чебуратор   (2004-09-10 15:40) [6]

Всем спасибо. Буду читать, изучать. Должно получиться...


 
Игорь Шевченко ©   (2004-09-10 15:50) [7]

Romkin ©   (10.09.04 15:38) [5]


> Игорь, у него связь по DCOM :)))


Упс. Вопрос был по WinAPI :))



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1095956023
VEG
2004-09-23 20:13
2004.10.10
У нас было землетрясение


14-1095679288
Dimedrol
2004-09-20 15:21
2004.10.10
Помогите! кажется меня похачили :-( (Linux-Apache)


14-1095926430
DiamondShark
2004-09-23 12:00
2004.10.10
Деловая игра "Инквизиция"


1-1096360459
Суслик
2004-09-28 12:34
2004.10.10
Константное значение widestring


14-1095187743
Fusly
2004-09-14 22:49
2004.10.10
SP2 for WinXP