¿Cómo escribo una aplicación de prueba simple, mínima necesaria para que funcione, que ilustra cómo usar IPC / Canalizaciones con nombre?
Por ejemplo, ¿cómo escribiría una aplicación de consola donde el Programa 1 dice "Hola mundo" al Programa 2 y el Programa 2 recibe un mensaje y responde "Roger That" al Programa 1.
c#
ipc
named-pipes
Jordan Trainor
fuente
fuente
Thread.Sleep
Task.Factory.StartNew
porTask.Run
.reader
/writer
? Si es así, ¿solo dispone de uno de ellos? Nunca he visto un ejemplo en el que ambos estén conectados a la misma secuencia.Para alguien que es nuevo en IPC y Tuberías con nombre, el siguiente paquete NuGet me pareció de gran ayuda.
GitHub: Envoltorio de tubería con nombre para .NET 4.0
Para usar primero instale el paquete:
Luego, un servidor de ejemplo (copiado del enlace):
Cliente de ejemplo:
Lo mejor para mí es que, a diferencia de la respuesta aceptada aquí, es compatible con varios clientes que hablan con un solo servidor.
fuente
En realidad, puede escribir en una tubería con nombre utilizando su nombre, por cierto.
Abra un shell de comandos como Administrador para evitar el error predeterminado "Acceso denegado":
fuente
Para su información, dotnet core en linux no es compatible con namedpipes, pruebe tcplistener en su lugar si está en linux
Este código tiene un cliente ida y vuelta por byte.
DotNet Core 2.0 Server ConsoleApp
DotNet Core 2.0 Client ConsoleApp
fuente
System Unauthorized Accesss Exception - path is denied