powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обмен данными между программами
13 сообщений из 13, страница 1 из 1
Обмен данными между программами
    #38807121
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги,
день добрый. Подскажите, плиз, как решать такую задачу. Есть две программы на С#. Каждая из них что-то делает с данными. Как реализовать функционал по прямому обмену данными между ними (т.е. без промежуточных файлов и т.п.)? Вопрос синхронизации – не стоит. Просто обмен данными.
Спасибо
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807135
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна программа - "сервер", остальные клиенты. То есть классический Self-Hosting + WCF или Web API. Я бы взял OWIN + Web API.

Use OWIN to Self-Host ASP.NET Web API 2

И всё. Остальные программы (их может быть сколько угодно) внятно обращаются к "серверу", что-то передают и получают.

Можно и посложнее: SignalR Self-Host . Делаешь хаб и отсылаешь на него. Получается что-то подобие чата.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807138
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70,

Как понимать, обмениваться? Кто из них инициатор обмена, кто один или оба? По какому принципу они должны обмениваться: «на, возьми!» или «слыш, дай мне»?

Пока нет ответов на эти вопросы, трудно что-то посоветовать. К сожалению, свой хрустальный шар я куда-то посеял.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807271
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

первая программа обработала данные, получила результат. Он в памяти лежит. Вторая программа также обработала другие данные, тоже результат в памяти. Надо дописать обе программы так, чтобы они могли друг у друга по результату очередной итерации расчета данные забирать и использовать дальше внутри себя для дальнейшей обработки. И так далее...
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807277
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70hVostt,

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

Ещё раз, кто инициатор обмена? Кто к кому в гости будет ходить? Или вы хотите, чтобы обе программы по договорённости устраивали в некой нейтральной зоне стрелку?

Если обе программы будут забирать друг у друга данные по собственной инициативе, то обе программы должны выставить наружу WCF интерфейс и через pipe сливать данные.

Подробнее об WCF на MSDN:

Пошаговое руководство. Создание служб WCF и доступ к таким службам
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807454
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70,

вы уж определитесь -
c# или с++
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807753
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

Вас беспокоит как я буду реализовывать?....
Но если отвечать, то - оба. Мне надо решить на чем эффективнее.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807760
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

спасибо за ссылку, буду пробовать. В моем случае - обмениваются обе. У каждой свой функционал.
Хотя.... А если реализовать, что только одна спрашивает - это что-то даст с точки зрения скорости обработки?
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807859
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70hVostt,

спасибо за ссылку, буду пробовать. В моем случае - обмениваются обе. У каждой свой функционал.
Хотя.... А если реализовать, что только одна спрашивает - это что-то даст с точки зрения скорости обработки?

Никаких "хотя".

Вы почитайте, делается ли что-нибудь в мире не по "клиент-сервер" технологии.
В вашей ситуации - правильным (маштабируемым и стабильным при этом) решением будет сервер, который все делает, и два клиента, которые отображают, в том числе и те данные, которые совместно выдали серверу.

Вам же сейчас все равно придется делать серверную часть - если программа выставляет что-то для получения данных наружу - она сервер, и клиента - раз она ищет в сети что-то куда можно данные положить - только два сервера и два клиента.
Плюс при такой архитектуре - "программы обмениваются" - как вы будете реализовывать "3 программы обмениваются" "4 программы обмениваются"?
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808074
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Никаких "хотя".

А как же p2p?
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808206
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70Но если отвечать, то - оба. Мне надо решить на чем эффективнее.
тогда и механизм выбирать общий, никакого WCF

эффективнее с какой точки зрения?
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808887
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttD129Никаких "хотя".

А как же p2p? Банально: приложение работает как клиент и как сервер в одно и то же время.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38809686
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvА как же p2p? Банально: приложение работает как клиент и как сервер в одно и то же время.[/quot]
Чисто технически - можно и на ежа сесть.
Как клиент другого сервиса - понятно. Но как клиент своего же клиента? Что такое умеет код такого, чего не может делать другой написанный код?
:-)
Для полного "дуплекса" наступает веселое время синхронизации и разруливания различных конфликтных ситуаций, из серии "кто первый начал".
:-)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обмен данными между программами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]