PDA

Просмотр полной версии : Получение данных в dll


Yegor
20.05.2010, 15:55
Нужны идеи как можно в свою dll запущенной в чужом процессе принять поток данных от своего приложения?

Как я понимаю messadge принять не получиться?

Есть какие то варианты кроме сокетов?

alexteam
20.05.2010, 16:15
пайпы/сокеты.
сенмесейдж можно. но в твоей длл прийдеться окошко делать.

Yegor
20.05.2010, 16:16
alexteam, что с твоей точки зрения лучше дял этого сокеты или пайпы? Где меньше гемора?

alexteam
20.05.2010, 16:18
и там и там гемор будет )

xkor
20.05.2010, 21:43
пайпы/сокеты.
сенмесейдж можно. но в твоей длл прийдеться окошко делать.ещё есть мейл слоты, отображаемые в память файлы и "хит сезона" - семафоры + WriteProcessMemory)))
ЗЫ стойкое чувство что ещё про какой то метод забыл, а может и не один(
ЗЗЫ но геморой везде(

Yegor
20.05.2010, 21:51
Что можете сказать про Messadge CopyData, с помощью него уходят данные от длл на основную прогу, насколько этот метод медленнее сокетов?

xkor
20.05.2010, 22:24
Yegor, а он медленнее?

Yegor
20.05.2010, 22:40
xkor, ну я хз, теоретически быстрее, но!!!! Копирование данных будем считать проходит моментально, а вот доставка указателя? Тем более что прием месаджев идет в основном потоке. Да я данные добавляю в очередь и обрабатываю в другом потоке данные, но хз какая латентность доставки сообщений виндой.

Sherman
20.05.2010, 22:43
ишо можно читать из текставага файла )))))) осушествляя контроль за запись/чтение через доп файл-флаги ))))
ЗЫ. Ногами не пинать, настроение просто смешное ) Многие обмены между двумя прогами 1С:Предприятие так реализованы "программистами 1С" )))

А если скорость то xkor помоему пральна сказал про хит сезона, и МапедФайлы

А если сравнивать мессаджи и сокеты, то эм.... оба медленные посравнению с семафорами + прямой записью в память

Yegor
20.05.2010, 22:54
Sherman, а на работе у меня моя программа "общается" через БД файл MS-Access, драйвер сам создает файл с флагами доступа ))).

alexteam
20.05.2010, 23:30
ладно, ты извращенец, убедил.

Sherman
20.05.2010, 23:45
ладно, ты извращенец, убедил.

+100500 )

А потом спрашиваитсо, почему наша ракета Булава из 20 испытательных стартов все 3 раза оторвалась от земли )))))

Yegor
21.05.2010, 00:14
Я привел аналогию, на самом деле программы просто работают с 1 файлом БД одновременно без сервера баз данных