68 / 66 / 19
Регистрация: 27.12.2008
Сообщений: 212

Универсальный обмен данными между приложениями

28.05.2011, 17:54. Показов 34246. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посоветуйте, пожалуйста, подход для решения следующей штуки:
Передача данных из приложенияА (C#) в приложениеB (C#, C++, Java, остальные будет хорошо, но не обязательно), где они изменяются и передаются обратно.
Данные могут быть любого объема и состоять из нескольких аргументов разных типов (например, {текст, кодировка, число}).
Достаточно, чтобы передача была между приложениями на локальном компьютере, где приложениеА запускает приложениеВ.
Скорость передача желательна, но не является критичной.
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.05.2011, 17:54
Ответы с готовыми решениями:

Как организовать обмен данными между приложениями по интернету
Здравствуйте! Подскажите пожалуйста, каким образом можно организовать обмен данными между приложениями по интернету? Какие методы...

Обмен данных между приложениями
Добрый день! Такая задача, клиент базы данных Oracle стоить 32 битный, а приложение которое должно получать данные из БД 64 битное....

Обмен данными между С++ и С#
Имеются две независимые программы, одна из них написана на С++, другая на С#. Как от одной передать в другую просто число? Ведь С#, как...

26
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 8
06.01.2017, 17:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от insite2012 Посмотреть сообщение
Ну самое простое - используйте NamedPipes. Максимальная скорость передачи, как вам и хочется.
В том и дело что хочется обмениваться непосредственно объектами, а не данными или сериализоваными копиями. О скорости речи не идет, но если даже брать в расчет скорость обмена, то обмен ссылками на объекты будет быстрее чем состояниями объектов.
0
22 / 20 / 3
Регистрация: 12.10.2016
Сообщений: 62
06.01.2017, 23:42
Yura Ost, ну только вы понимаете, что эти ссылки ведут на виртуальную память процесса. Для другого процесса эта ссылка ни о чём не говорит. А зачем именно объектами? Это не очень тривиальное решение
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 8
07.01.2017, 16:20
Цитата Сообщение от gvt Посмотреть сообщение
Yura Ost, ну только вы понимаете, что эти ссылки ведут на виртуальную память процесса. Для другого процесса эта ссылка ни о чём не говорит.
Да, понимаю. И этот момент меня смущает. Интересно, есть ли способ создания общей виртуальной памяти для двух процессов. Именно для размещения в ней объектов, а не stream input/output

Цитата Сообщение от gvt Посмотреть сообщение
А зачем именно объектами? Это не очень тривиальное решение
Изначально хотел что бы была возможность динамического подключения плагина для его отладки без остановки основного приложения, для которого пишется плагин. При запуске приложения для тестирования оно создаёт объект плагина и передает его в уже запущенное основное приложение, а дальше основное приложение и библиотека плагина начинают взаимодействовать.
Если же в основное приложение передавать не объект плагина, а, инфу о классе плагина (например, путь к dll и название класса), то основное приложение сможет создать объект плагина и работать с ним, но объект будет уже создан под управлением процесса основного приложения, и отладка будет возможна только в нем же, что не очень удобно.
После завершения работы над плагином он будет подключаться обычном способом и будет работать в рамках одного процесса, а значит возня с сервисами и/или сериализацией, на мой взгляд, будет излишня. Т.е. сейчас задача состоит в создании удобств на время разработки и их не обязательно реализовывать кошерно. Хотя и сама по себе тема обмена объектами интересная, т.к может пригодиться в дальнейшем. Если же нет простого способа обмена объектами, то пересмотрю свой подход.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.01.2017, 18:52
Цитата Сообщение от Yura Ost Посмотреть сообщение
хотел что бы была возможность динамического подключения плагина
Так бы сразу и сказали.
Попробуйте MEF, возможно это то, что вам нужно.
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 8
09.01.2017, 07:52
Цитата Сообщение от insite2012 Посмотреть сообщение
Так бы сразу и сказали.
Попробуйте MEF, возможно это то, что вам нужно.
спасибо, попробую
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
09.01.2017, 09:59
Цитата Сообщение от Yura Ost Посмотреть сообщение
Изначально хотел что бы была возможность динамического подключения плагина для его отладки без остановки основного приложения
Для загрузки плагинов можно также применять рефлексию
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 8
09.01.2017, 10:16
Цитата Сообщение от aquaMakc Посмотреть сообщение
Для загрузки плагинов можно также применять рефлексию
Так и планировалось после завершения разработки, на момент разработки необходимо было передавать сам объект между процессами, т.к процесс для тестирования плагина запускался отдельно от процесса основного приложения. Процесс А не может передать в процесс Б ссылку на объект созданный в А. Процессы могут обмениваться объектами только посредством сериализации/десериализации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2017, 10:16

Обмен данными между устройствами
Всем привет. Требуется совет по поводу реализации обмена данными, между несколькими устройствами. Первое устройство ПК, только у которого...

Обмен данными между потоками
Здравствуйте. Есть класс, в нем создается поток, который создается TCP сокет и слушает определенный порт, если есть какое-то сообщение на...

Обмен данными между формами
Как в C# сделать обмен данными между двумя формами? на С++ делал следующим образом: Dialog dlg; dlg.m_A = m_A; ...

Обмен данными между процессами
Доброго времени суток. Проблема такая: есть два процесса, один как бы главный, а второй дочерний, нужно каким-то образом отловить данные из...

Обмен данными между формами
Знаю, что тема ворошилась не один раз, но проблемма такая: (если уже где-то обсуждалась, пжл тыкните, ибо именно такого я не нашёл :( ) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru