Comment écrire une application de test simple - le strict minimum nécessaire pour que cela fonctionne - qui illustre comment utiliser IPC / Named Pipes?
Par exemple, comment écrire une application console où le programme 1 dit «Hello World» au programme 2 et le programme 2 reçoit un message et répond «Roger That» au programme 1.
c#
ipc
named-pipes
Jordan Trainor
la source
la source
Thread.Sleep
Task.Factory.StartNew
parTask.Run
.reader
/writer
? Si oui, en disposez-vous uniquement? Je n'ai jamais vu d'exemple où les deux sont attachés au même flux.Pour quelqu'un qui est nouveau dans IPC et Named Pipes, j'ai trouvé que le package NuGet suivant était d'une grande aide.
GitHub: wrapper de pipe nommé pour .NET 4.0
Pour utiliser d'abord installer le package:
Puis un exemple de serveur (copié à partir du lien):
Exemple de client:
La meilleure chose à ce sujet pour moi est que contrairement à la réponse acceptée ici, il prend en charge plusieurs clients qui parlent à un seul serveur.
la source
Vous pouvez en fait écrire dans un tube nommé en utilisant son nom, btw.
Ouvrez un shell de commande en tant qu'administrateur pour contourner l'erreur par défaut «Accès refusé»:
la source
FYI dotnet core sur Linux ne prend pas en charge les namedpipes, essayez plutôt tcplistener si vous êtes sous Linux
Ce code a un client aller-retour d'un octet.
ConsoleApp du serveur DotNet Core 2.0
Application de console client DotNet Core 2.0
la source
System Unauthorized Accesss Exception - path is denied