NamedPipeClientStream Klass

Definition

Exponerar ett Stream runt ett namngivet rör som stöder både synkrona och asynkrona läs- och skrivåtgärder.

public ref class NamedPipeClientStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeClientStream : System.IO.Pipes.PipeStream
type NamedPipeClientStream = class
    inherit PipeStream
Public NotInheritable Class NamedPipeClientStream
Inherits PipeStream
Arv
NamedPipeClientStream

Exempel

I följande exempel visas ett sätt att skicka en sträng från en överordnad process till en underordnad process på samma dator med hjälp av namngivna pipes. Det här exemplet skapar ett NamedPipeServerStream objekt i en överordnad process. Objektet NamedPipeServerStream har värdet PipeDirectionOut. Servern väntar sedan på att ett NamedPipeClientStream objekt i en underordnad process ska ansluta till det. I det här exemplet finns båda processerna på samma dator och objektet NamedPipeClientStream har värdet PipeDirectionIn. Den överordnade processen skickar sedan en användarangiven sträng till den underordnade processen. Strängen visas i konsolen.

Det här exemplet gäller klientprocessen som ansluter till serverprocessen. Hela kodexemplet, inklusive koden för både pipe-klienten och servern, finns i Så här använder du namngivna pipes för kommunikation mellan nätverk.

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

class PipeClient
{
    static void Main(string[] args)
    {
        using (NamedPipeClientStream pipeClient =
            new NamedPipeClientStream(".", "testpipe", PipeDirection.In))
        {

            // Connect to the pipe or wait until the pipe is available.
            Console.Write("Attempting to connect to pipe...");
            pipeClient.Connect();

            Console.WriteLine("Connected to pipe.");
            Console.WriteLine("There are currently {0} pipe server instances open.",
               pipeClient.NumberOfServerInstances);
            using (StreamReader sr = new StreamReader(pipeClient))
            {
                // Display the read text to the console
                string temp;
                while ((temp = sr.ReadLine()) != null)
                {
                    Console.WriteLine("Received from server: {0}", temp);
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes
Imports System.Security.Principal

Class PipeClient

    Shared Sub Main(ByVal args As String())

        Dim pipeClient As New NamedPipeClientStream("localhost", _
                    "testpipe", PipeDirection.In, PipeOptions.None)

        ' Connect to the pipe or wait until the pipe is available.
        Console.WriteLine("Attempting to connect to the pipe...")
        pipeClient.Connect()

        Console.WriteLine("Connect to the pipe.")
        Console.WriteLine("There are currently {0} pipe server instances open.", _
                          pipeClient.NumberOfServerInstances)

        Dim sr As New StreamReader(pipeClient)
        Dim temp As String

        temp = sr.ReadLine()
        While Not temp Is Nothing
            Console.WriteLine("Received from server: {0}", temp)
            temp = sr.ReadLine()
        End While
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

Kommentarer

Namngivna rör tillhandahåller enkelriktade eller duplex-rör för kommunikation mellan en rörserver och en eller flera pipe-klienter. Namngivna rör kan användas för kommunikation mellan processer lokalt eller via ett nätverk. Ett enda pipe-namn kan delas av flera NamedPipeClientStream objekt.

Alla processer kan fungera som antingen en namngiven pipe-server eller klient, eller både och.

Konstruktorer

Name Description
NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Initierar en ny instans av NamedPipeClientStream klassen för det angivna rörhandtaget med angiven rörriktning.

NamedPipeClientStream(String, String, PipeAccessRights, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Initierar en ny instans av NamedPipeClientStream klassen med de angivna pipe- och servernamnen och de angivna pipe-alternativen, säkerhets personifieringsnivån och ärvbarhetsläget.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Initierar en ny instans av NamedPipeClientStream klassen med angivna pipe- och servernamn och angiven rörriktning, pipe-alternativ, säkerhets personifieringsnivå och ärverbarhetsläge.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel)

Initierar en ny instans av NamedPipeClientStream klassen med angivna pipe- och servernamn samt angiven rörriktning, pipe-alternativ och säkerhetspersonifieringsnivå.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

Initierar en ny instans av NamedPipeClientStream klassen med de angivna pipe- och servernamnen och de angivna rörriktnings- och röralternativen.

NamedPipeClientStream(String, String, PipeDirection)

Initierar en ny instans av NamedPipeClientStream klassen med de angivna pipe- och servernamnen och den angivna rörriktningen.

NamedPipeClientStream(String, String)

Initierar en ny instans av NamedPipeClientStream klassen med angivna pipe- och servernamn.

NamedPipeClientStream(String)

Initierar en ny instans av NamedPipeClientStream klassen med det angivna pipenamnet.

Egenskaper

Name Description
CanRead

Hämtar ett värde som anger om den aktuella strömmen stöder läsåtgärder.

(Ärvd från PipeStream)
CanSeek

Hämtar ett värde som anger om den aktuella strömmen stöder sökåtgärder.

(Ärvd från PipeStream)
CanTimeout

Hämtar ett värde som avgör om den aktuella strömmen kan överskrida tidsgränsen.

(Ärvd från Stream)
CanWrite

Hämtar ett värde som anger om den aktuella strömmen stöder skrivåtgärder.

(Ärvd från PipeStream)
InBufferSize

Hämtar storleken, i byte, på den inkommande bufferten för ett rör.

(Ärvd från PipeStream)
IsAsync

Hämtar ett värde som anger om ett PipeStream objekt öppnades asynkront eller synkront.

(Ärvd från PipeStream)
IsConnected

Hämtar eller anger ett värde som anger om ett PipeStream objekt är anslutet.

(Ärvd från PipeStream)
IsHandleExposed

Hämtar ett värde som anger om ett handtag för ett PipeStream objekt exponeras.

(Ärvd från PipeStream)
IsMessageComplete

Hämtar ett värde som anger om det finns mer data i meddelandet som returneras från den senaste läsåtgärden.

(Ärvd från PipeStream)
Length

Hämtar längden på en ström, i byte.

(Ärvd från PipeStream)
NumberOfServerInstances

Hämtar antalet serverinstanser som delar samma pipe-namn.

OutBufferSize

Hämtar storleken, i byte, på den utgående bufferten för ett rör.

(Ärvd från PipeStream)
Position

Hämtar eller anger aktuell position för den aktuella strömmen.

(Ärvd från PipeStream)
ReadMode

Hämtar eller anger läsläget för ett PipeStream objekt.

(Ärvd från PipeStream)
ReadTimeout

Hämtar eller anger ett värde i millisekunder som avgör hur länge strömmen ska försöka läsa innan tidsgränsen nås.

(Ärvd från Stream)
SafePipeHandle

Hämtar det säkra handtaget för den lokala änden av röret som det aktuella PipeStream objektet kapslar in.

(Ärvd från PipeStream)
TransmissionMode

Hämtar det röröverföringsläge som stöds av det aktuella röret.

(Ärvd från PipeStream)
WriteTimeout

Hämtar eller anger ett värde i millisekunder som avgör hur länge strömmen ska försöka skriva innan tidsgränsen nås.

(Ärvd från Stream)

Metoder

Name Description
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Påbörjar en asynkron läsåtgärd.

(Ärvd från PipeStream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Påbörjar en asynkron skrivåtgärd.

(Ärvd från PipeStream)
CheckPipePropertyOperations()

Verifierar att röret är i rätt tillstånd för att hämta eller ange egenskaper.

(Ärvd från PipeStream)
CheckReadOperations()

Verifierar att röret är i ett anslutet tillstånd för läsåtgärder.

(Ärvd från PipeStream)
CheckWriteOperations()

Verifierar att röret är i ett anslutet tillstånd för skrivåtgärder.

(Ärvd från PipeStream)
Close()

Stänger den aktuella strömmen och släpper alla resurser (till exempel socketar och filhandtag) som är associerade med den aktuella strömmen. I stället för att anropa den här metoden kontrollerar du att dataströmmen tas bort korrekt.

(Ärvd från Stream)
Connect()

Ansluter till en väntande server med ett oändligt timeout-värde.

Connect(Int32)

Ansluter till en väntande server inom den angivna tidsgränsen.

ConnectAsync()

Ansluter asynkront till en väntande server med en oändlig tidsgräns.

ConnectAsync(CancellationToken)

Ansluter asynkront till en väntande server och övervakar begäranden om annullering.

ConnectAsync(Int32, CancellationToken)

Ansluter asynkront till en väntande server inom den angivna tidsgränsen och övervakar begäranden om annullering.

ConnectAsync(Int32)

Ansluter asynkront till en väntande server inom den angivna tidsgränsen.

CopyTo(Stream, Int32)

Läser byteen från den aktuella strömmen och skriver dem till en annan ström med en angiven buffertstorlek. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CopyTo(Stream)

Läser byteen från den aktuella strömmen och skriver dem till en annan ström. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CopyToAsync(Stream, CancellationToken)

Läser asynkront byte från den aktuella strömmen och skriver dem till en annan ström med hjälp av en angiven annulleringstoken. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Läser asynkront byte från den aktuella strömmen och skriver dem till en annan dataström med en angiven buffertstorlek och annulleringstoken. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CopyToAsync(Stream, Int32)

Läser asynkront byte från den aktuella strömmen och skriver dem till en annan ström med en angiven buffertstorlek. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CopyToAsync(Stream)

Läser asynkront byte från den aktuella strömmen och skriver dem till en annan ström. Båda strömmarnas positioner avanceras av antalet kopierade byte.

(Ärvd från Stream)
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
CreateWaitHandle()
Föråldrad.

Allokerar ett WaitHandle objekt.

(Ärvd från Stream)
Dispose()

Släpper alla resurser som används av Stream.

(Ärvd från Stream)
Dispose(Boolean)

Släpper de ohanterade resurser som används av PipeStream klassen och släpper eventuellt de hanterade resurserna.

(Ärvd från PipeStream)
DisposeAsync()

Asynkront släpper de ohanterade resurser som används av Stream.

(Ärvd från Stream)
EndRead(IAsyncResult)

Avslutar en väntande asynkron läsbegäran.

(Ärvd från PipeStream)
EndWrite(IAsyncResult)

Avslutar en väntande asynkron skrivbegäran.

(Ärvd från PipeStream)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Finalize()

Frigör ohanterade resurser och utför andra rensningsåtgärder innan instansen NamedPipeClientStream frigörs av skräpinsamling.

Flush()

Rensar bufferten för den aktuella strömmen och gör att buffrade data skrivs till den underliggande enheten.

(Ärvd från PipeStream)
FlushAsync()

Rensar asynkront alla buffertar för den här strömmen och gör att buffrade data skrivs till den underliggande enheten.

(Ärvd från Stream)
FlushAsync(CancellationToken)

Rensar asynkront alla buffertar för den här strömmen, gör att buffrade data skrivs till den underliggande enheten och övervakar begäranden om annullering.

(Ärvd från Stream)
GetAccessControl()

Hämtar ett PipeSecurity objekt som kapslar in ACL-posterna (åtkomstkontrollistan) för röret som beskrivs av det aktuella PipeStream objektet.

(Ärvd från PipeStream)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Initierar ett PipeStream objekt från det angivna SafePipeHandle objektet.

(Ärvd från PipeStream)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ObjectInvariant()
Föråldrad.

Tillhandahåller stöd för en Contract.

(Ärvd från Stream)
Read(Byte[], Int32, Int32)

Läser ett block med byte från en dataström och skriver data till en angiven buffert som börjar på en angiven position för en angiven längd.

(Ärvd från PipeStream)
Read(Span<Byte>)

Läser en sekvens med byte från den aktuella strömmen, skriver dem till en bytematris och avancerar positionen i dataströmmen med antalet lästa byte.

(Ärvd från PipeStream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Läser asynkront en sekvens med byte från den aktuella strömmen till en bytematris som börjar vid en angiven position för ett angivet antal byte, avancerar positionen i strömmen med antalet lästa byte och övervakar begäranden om annullering.

(Ärvd från PipeStream)
ReadAsync(Byte[], Int32, Int32)

Läser asynkront en sekvens med byte från den aktuella strömmen och avancerar positionen i strömmen med antalet lästa byte.

(Ärvd från Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Läser asynkront en sekvens med byte från den aktuella strömmen, skriver dem till ett byteminnesintervall, avancerar positionen i strömmen med antalet lästa byte och övervakar begäranden om annullering.

(Ärvd från PipeStream)
ReadByte()

Läser en byte från ett rör.

(Ärvd från PipeStream)
Seek(Int64, SeekOrigin)

Anger aktuell position för den aktuella strömmen till det angivna värdet.

(Ärvd från PipeStream)
SetAccessControl(PipeSecurity)

Tillämpar de poster i åtkomstkontrollistan (ACL) som anges av ett PipeSecurity objekt på den pipe som anges av det aktuella PipeStream objektet.

(Ärvd från PipeStream)
SetLength(Int64)

Anger längden på den aktuella strömmen till det angivna värdet.

(Ärvd från PipeStream)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
WaitForPipeDrain()

Väntar på att den andra änden av röret ska läsa alla skickade byte.

(Ärvd från PipeStream)
Write(Byte[], Int32, Int32)

Skriver ett byteblock till den aktuella strömmen med data från en buffert.

(Ärvd från PipeStream)
Write(ReadOnlySpan<Byte>)

Skriver en sekvens med byte till den aktuella strömmen och avancerar den aktuella positionen i den här strömmen med antalet skrivna byte.

(Ärvd från PipeStream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Skriver asynkront ett angivet antal byte från en bytematris som börjar på en angiven position, avancerar den aktuella positionen i den här strömmen med antalet skrivna byte och övervakar begäranden om annullering.

(Ärvd från PipeStream)
WriteAsync(Byte[], Int32, Int32)

Skriver asynkront en sekvens med byte till den aktuella strömmen och avancerar den aktuella positionen i den här strömmen med antalet skrivna byte.

(Ärvd från Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Skriver asynkront en sekvens med byte till den aktuella strömmen, avancerar den aktuella positionen i den här strömmen med antalet skrivna byte och övervakar begäranden om annullering.

(Ärvd från PipeStream)
WriteByte(Byte)

Skriver en byte till den aktuella strömmen.

(Ärvd från PipeStream)

Tilläggsmetoder

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurerar hur väntar på de uppgifter som returneras från en asynkron disponibel ska utföras.

Gäller för