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

Вниз

Передача больших по значению параметров на удаленные 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 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.008 c
1-11241
Жешка
2002-10-25 11:44
2002.11.04
Есть компонент под ActiveX (.ocx). Как перенести его на другую ..


1-11144
QUE
2002-10-24 12:25
2002.11.04
Надпись на MDIForm


1-11293
dihlos
2002-10-22 19:54
2002.11.04
Скрыть свойства в инспекторе объектов


14-11443
vopros
2002-10-10 11:57
2002.11.04
Когда нам дадут медаль?


1-11171
volph777
2002-10-24 11:52
2002.11.04
dxDateEdit и формат даты ДД.ММ.ГГГГ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский