Feedback

C# - Interprozesskommunikation über benannte Pipes - Server

Veröffentlicht von am 06.01.2009
(2 Bewertungen)
Pipes wurden mit Windows NT in der Windows-Welt eingeführt. Mit dem .Net Framework 3.5 ist es möglich geworden, benannte Pipes direkt –ohne WCF- einzusetzen. Mit benannten Pipes ist es möglich, Daten zwischen zwei Prozessen, zum Beispiel zwischen zwei Anwendungen, auszutauschen.
Die Daten können dabei in beide Richtungen gleichzeitig gesendet und empfangen werden (Vollduplexbetrieb). Es ist möglich, Daten rechnerübergreifend in einem Netzwerk auszutauschen.

Die folgende Konsolenanwendung bildet den Server, der dazugehörige Client befindet sich unter dieser URL: http://dotnet-snippets.de/dns/interprozesskommunikation-ueber-benannte-pipes---client-SID1057.aspx
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

using System;
using System.IO;
using System.IO.Pipes;

namespace PipeServer
{
    internal class Program
    {
        private static void Main()
        {
            using (var pipeServerStream = new NamedPipeServerStream("UniqueString"))
            {
                Console.WriteLine("Waiting for connection.");
                pipeServerStream.WaitForConnection();

                Console.WriteLine("Connected to client.");
                using (var streamReader = new StreamReader(pipeServerStream))
                {
                    while (true)
                    {
                        var data = streamReader.ReadLine();
                        if (data == null)
                            break;
                        Console.WriteLine("Received: " + data);
                    }
                }
                Console.WriteLine("Press any key to exit.");
                Console.Read();
            }
        }
    }
}
Abgelegt unter Pipe, Sever, Client, IPC, Prozess, Vollduplex, Netzwerk.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!