Как лучше всего наладить передачу данных между двумя приложениями на одном и том же компьютере на .NET?

Собственно, есть две программы, обе на .NET, надо наладить передачу данных из одной программы в другую. Собственно, очевидный и элементарный вариант - это просто бахнуть tcp соединение между двумя программами. Но что-то мне подсказывает, что это вариант далеко не самый эффективный по быстродействию. А мне критично быстродействие, точнее, время передачи данных, критично до десятков миллисекунд. Есть ли какие-то другие, более интересные и быстрые, а может даже и более надёжные методы, или даже не париться и просто делать через tcp? Приложения 100% всегда будут использоваться оба на одном компьютере.
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Прочитайте про pipe
TCP не очень хороший вариант - будут срабатывать антивирусы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
vabka
@vabka Куратор тега C#
Токсичный шарпист
Точно видел 1 такой вопрос, но не могу найти его.
В общем тут кроме TCP/UDP под виндой есть два варианта:
  • Named pipe - можно поверх него любой произвольный протокол реализовать. Хоть HTTP
  • COM - но это уже больше легаси. И я хз что там со скоростью будет.

Ответ написан
Комментировать
petermzg
@petermzg
Самый лучший программист
MemoryMappedFile просто шарите память между двумя и более процессами.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
@KoreanGuy
"Pushing C# to the limit - Joe Albahari" на ютюбе лежит. Оч интересно по теме.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы