Вниз
Скачать: CL | DM;

Передача больших по значению параметров на удаленные COM-сервера.   Найти похожие ветки 

← →
Dok_3D ©   (2002-10-25 13:22) [0]

Господа, здравствуйте.
Вопрос про передачу больших по объему параметров на удаленные COM-сервера.
Проблема вот в чем:
Есть, например, такой метод сервера
AppServer.SetBigProperty(const vaName, vaValue : OleVariant);

Так вот, если параметр vaValue имеет небольшое значение (0.1, 0.5, 1 мегабайт), то все вроде как хорошо, на быстродействии не отражается.
Но если речь идет о размере в 10, 20, 30 мегабайт, то передача этого параметра занимает о-о-очень большое время, несоизмеримо большее , чем копирование файла такого-же размера по сети.
Я, конечно, понимаю, что маршалинг требует ресурсов процессора, но все - же...

Вопрос: может, есть какие-нибудь механизмы(форматы) передачи таких больших параметров на удаленные тСОМ-сервера ? Хотя бы, чтобы скорость передачи значения параметра была была близка к скорости копирования файла такого-же размера по сети.


← →
Дмитрий Баранов ©   (2002-10-25 13:30) [1]

Если я ничего не путаю, в COM используется UDP - отсюда и такая разница... Но могу и лохануться ( книжки нужной под рукой нету ).


← →
asmith   (2002-10-25 13:53) [2]

Тут есть еще один более неприятный момент - COM-сервер при приеме данных распределяет для них соответствующего размера буфер и если клиентов несколько, памяти может потребоваться очень много. Выход - отказ от передачи данных через SafeArray (а именно эта метода и используется) и переход на потоковые технологии (IStream) или COM Pipes (поддерживает W2k и старше). Об этом можно почитать в сентябрьском номере MSDN Magazine в статье "Marshaling Your Data: Efficient Data Transfer Techniques Using COM and Windows 2000". Другое дело, что эти методы непросто использовать из Delphi.


← →
Dok_3D ©   (2002-10-25 15:35) [3]

Читаю статью приведенную статью ... Пока башка трещит.
Может быть, когда я дочитаю, еще кто-нибудь дельную мысль подкинет ?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-11300
dens
2002-10-23 16:32
2002.11.04
проблема с TStrings


14-11490
nona
2002-10-16 21:46
2002.11.04
Пожалуйста помогите понимаю что не в тему задаю!


1-11323
John Magic
2002-10-24 08:30
2002.11.04
Временное окно


14-11389
Шурик Ш
2002-10-16 18:10
2002.11.04
Злой админ отрубил доступ к аське


3-11037
theEnter
2002-10-14 11:43
2002.11.04
Вложенные запросы внутри Дельфи




   Наверх