Une application console simple démontrant l'IPC de canal nommé
Les canaux nommés offrent une méthode robuste de communication inter-processus (IPC) sur une seule machine. Cet exemple illustre une connexion IPC de base utilisant des canaux nommés.
Le programme 1 agit en tant qu'expéditeur du message, tandis que le programme 2 reçoit le message. Le programme 1 envoie "Hello World" et le programme 2 répond par "Roger That".
Serveur (Programme 2) :
<code class="language-csharp">using System; using System.IO.Pipes; namespace ServerApp { class Program { static void Main(string[] args) { string pipeName = "MyPipe"; // Named pipe identifier using (var server = new NamedPipeServerStream(pipeName)) { server.WaitForConnection(); Console.WriteLine("Client connected."); using (var reader = new StreamReader(server)) using (var writer = new StreamWriter(server)) { string message = reader.ReadLine(); Console.WriteLine($"Received: {message}"); writer.WriteLine("Roger That"); writer.Flush(); } } } } }</code>
Client (Programme 1) :
<code class="language-csharp">using System; using System.IO.Pipes; namespace ClientApp { class Program { static void Main(string[] args) { string pipeName = "MyPipe"; // Must match server's pipe name using (var client = new NamedPipeClientStream(pipeName)) { client.Connect(); Console.WriteLine("Connected to server."); using (var reader = new StreamReader(client)) using (var writer = new StreamWriter(client)) { writer.WriteLine("Hello World"); writer.Flush(); Console.WriteLine("Sent: Hello World"); string response = reader.ReadLine(); Console.WriteLine($"Received: {response}"); } } } } }</code>
Pour exécuter : démarrez le ServerApp.exe
d'abord, puis exécutez ClientApp.exe
. Cela démontre les principes fondamentaux de l’utilisation de canaux nommés pour une communication simple entre processus. Pensez à ajuster le pipeName
si nécessaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!