Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/165: Рейтинг темы: голосов - 165, средняя оценка - 4.76
68 / 66 / 19
Регистрация: 27.12.2008
Сообщений: 212

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

28.05.2011, 17:54. Показов 33589. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru