Como escrevo um aplicativo simples e mínimo necessário para que ele funcione - teste que ilustra como usar IPC / Pipes Nomeados?
Por exemplo, como alguém escreveria um aplicativo de console em que o Programa 1 diz "Olá Mundo" para o Programa 2 e o Programa 2 recebe uma mensagem e responde "Roger That" para o Programa 1.
c#
ipc
named-pipes
Jordan Trainor
fonte
fonte
Thread.Sleep
Task.Factory.StartNew
porTask.Run
.reader
/writer
? Se sim, você apenas descarta um deles? Eu nunca vi um exemplo em que ambos estejam anexados ao mesmo fluxo.Para alguém que é novo no IPC e nos Named Pipes, achei o pacote NuGet a seguir uma grande ajuda.
GitHub: Wrapper de tubulação nomeado para .NET 4.0
Para usar primeiro instale o pacote:
Em seguida, um servidor de exemplo (copiado do link):
Cliente de exemplo:
A melhor coisa para mim é que, diferentemente da resposta aceita aqui, ele suporta vários clientes conversando com um único servidor.
fonte
Na verdade, você pode gravar em um pipe nomeado usando seu nome, btw.
Abra um shell de comando como administrador para solucionar o erro padrão "Acesso negado":
fonte
FYI dotnet core no linux não suporta pipes nomeados, tente tcplistener se estiver no linux
Esse código tem um cliente de ida e volta de um byte.
Servidor do DotNet Core 2.0
Cliente do DotNet Core 2.0 ConsoleApp
fonte
System Unauthorized Accesss Exception - path is denied