Как мне написать простое - минимум, необходимое для работы - тестовое приложение, которое иллюстрирует, как использовать IPC / Named Pipes?
Например, как написать консольное приложение, в котором Программа 1 говорит «Hello World» Программе 2, а Программа 2 получает сообщение и отвечает «Roger That» Программе 1.
c#
ipc
named-pipes
Джордан Трейнор
источник
источник
Thread.Sleep
Task.Factory.StartNew
наTask.Run
.reader
/writer
? Если да, то выбрасываете ли вы только одну из них? Я никогда не видел примера, когда оба были бы подключены к одному и тому же потоку.Для тех, кто плохо знаком с IPC и именованными каналами, я обнаружил, что следующий пакет NuGet будет большим подспорьем.
GitHub: именованный конвейер для .NET 4.0
Чтобы использовать сначала установите пакет:
Затем пример сервера (скопирован по ссылке):
Пример клиента:
Лучшее в этом для меня то, что, в отличие от принятого здесь ответа, он поддерживает несколько клиентов, разговаривающих с одним сервером.
источник
Фактически вы можете писать в именованный канал, используя его имя, кстати.
Откройте командную оболочку от имени администратора, чтобы обойти ошибку «Доступ запрещен» по умолчанию:
источник
Вместо этого попробуйте tcplistener, если вы используете Linux
В этом коде клиент передает байт туда и обратно.
Серверная консоль DotNet Core 2.0
Клиентская консоль DotNet Core 2.0
источник
System Unauthorized Accesss Exception - path is denied