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

Вниз

dll как клиент и сервер   Найти похожие ветки 

 
LexXL   (2009-07-05 18:53) [0]

Добрый день мастера.
Имеется такая задача:
Есть 2 приложения которые должны "общаться" между собой. Есть возможность только написать библиотеку dll через которую они смогут общаться, сокеты и прочее между приложениями не доступны. Т.е. есть возможность в dll ке реализовать методы типа setDate и getDate. Но не могу никак разобраться как можно организовать механизм при котором dll будет хранить данные где то и обращаться к ним при необходимости. Если есть какая нить теория или технология - намекните где копать (DDE не подходит).

Заранее огромное спасибо!


 
Юрий Зотов ©   (2009-07-05 19:11) [1]

Memory Mapped File ?


 
LexXL   (2009-07-05 19:28) [2]

спасибо читаю доки, но как я понял данное позволит мне закинуть "файл" с данными в память, но как dll как будет при каждом вызове "где"? генерировать данные и "куда"? за ними обращаться?

сейчас появилась идея сделать в одном приложении чтото типа виртуальный БД
а уже dll общалась бы с приложением по сокету например - можно ли такое реализовать?


 
Юрий Зотов ©   (2009-07-05 19:36) [3]

> сокеты и прочее между приложениями не доступны
> а уже dll общалась бы с приложением по сокету

Как понять тебя, Саид?
(с) Фильм

Есть много способов обмена данными между приложениями. Например, сообщение WM_COPYDATA, Memory Mapped Files, COM, сокеты...

Но для выбора способа взаимодействия сначала нужно определиться, что же все-таки доступно, а что - нет.


 
LexXL   (2009-07-05 19:50) [4]

Да Юрий - простите, согласен нужно изъясняться конкретнее.
Есть сторонняя программа (написанная не мной) в ней есть язык написания скриптов свой собственный. Мне необходимо реализовывать приложение для работы с скриптами данной программы. Единственный вариант - то что тот "язык программирования" поддерживает подключение внешних библиотечек (сокеты com и прочее там отсутствуют). Так вот на мне реализация библиотечки и программы. А вот как реализовать обмен данными "сторонняя программа (можно писать там небольшие скрипты)"<---> DLL(на мне)<--->Приложение(на мне) я не могу придумать - опыта маловато..


 
Сергей М. ©   (2009-07-05 20:10) [5]

Ну и какие же при этом "клиент и сервер" ?
Знание "умных слов" что ли продемонстрировал ?)


 
LexXL   (2009-07-05 20:26) [6]

ну в данном случае, в зависимости от реализации, может быть что мое приложение будет клиент/сервером одновременно. Если реализовывать подобие ORM в моей программе и дергать данные dllкой чем вам Сергей это не клиент-сервер? В любом случае концепция технологии клиент-сервер у меня присутствует так как необходимо реализовать обмен данными (да еще используя связующие звено) между приложениями, или мне тут вообще бы посоветовали использовать soap или подобное?


 
Сергей М. ©   (2009-07-05 20:36) [7]


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


У кого это "у тебя" ?
И почему "обмен данными" - это обязательно "клиент-сервер", но, скажем, никак не "партнер-партнер" ?


 
Юрий Зотов ©   (2009-07-05 20:52) [8]

Сергей, ну че ты к словам придираешься? Ну не точно человек выразился, ну и что? Суть-то понятна. Лучше по делу что-нить подскажи.

> LexXL   (05.07.09 20:26) [6]

Если я правильно понял, то этот скриптовый язык умеет динамически загружать DLL и вызывать ее функции - то есть, поддерживает работу с указателями и функциями WinAPI ?


 
Сергей М. ©   (2009-07-05 21:08) [9]


> Юрий Зотов ©   (05.07.09 20:52) [8]


Юрий, мне НЕ понятна ..


 
Юрий Зотов ©   (2009-07-05 21:10) [10]

Прочти [4].


 
LexXL   (2009-07-05 21:17) [11]

>>У кого это "у тебя" ?
давайте Сергей не будет представлять цитаты как мы хотим показать
>концепция технологии клиент-сервер у меня присутствует
отличается от
> технологии клиент-сервер у меня присутствует

я не знаю наверное у вас выходные не удались или вы всегда проецируете на людей негатив. но ответьте на вопрос сейчас из всех сообщений ваших - сколько было "по теме"? я просил помощи.

>>У кого это "у тебя" ? (В реализуемой мной архитектуре.)

Насчет остального, в даном случае "не моих программ" которые будут обращаться к данным будет несколько. Данные в этом случае будут асинхронными. плюс хранение данных ложиться на определенное приложение.
Прошу отвечайте конструктивно и если хотите помочь.


 
Сергей М. ©   (2009-07-05 21:57) [12]


> Юрий Зотов ©   (05.07.09 21:10) [10]


см. [11] - желаешь ли разгрести этот словесный понос ?)


 
Сергей М. ©   (2009-07-05 21:57) [13]

Удалено модератором


 
Сергей М. ©   (2009-07-05 22:04) [14]

Удалено модератором


 
LexXL   (2009-07-05 22:26) [15]

Юрий, спасибо большое, вариант с MMF мне подходит полностью.


 
Юрий Зотов ©   (2009-07-05 22:29) [16]

> LexXL   (05.07.09 22:26) [15]

Не спешите. Возможно, годится и вариант с WM_COPYDATA - это может быть проще.


 
Dennis I. Komarov ©   (2009-07-06 10:09) [17]

Все будет зависить от того какие данные, как и сколько, и т.д. и т.п. Вобщем описывайте задачу подробнее. Ничего сверх страшного тут нет. Единственное что меня смущает, это работа с dll из этого приложения...



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

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

Наверх





Память: 0.49 MB
Время: 0.152 c
15-1246616362
hinst
2009-07-03 14:19
2009.09.06
преобразование assembler в pascal


15-1246518647
stas
2009-07-02 11:10
2009.09.06
3D фото


2-1246861483
@!!ex
2009-07-06 10:24
2009.09.06
Как представить число в виде трех float чисел.


15-1245860235
@!!ex
2009-06-24 20:17
2009.09.06
Duke Nukem Forever официально скончался...


6-1206347840
SpellCaster
2008-03-24 11:37
2009.09.06
Ошибка 10055: WSAENOBUFS no buffer space available





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