NamedPipeClientStream Třída

Definice

Zpřístupňuje pojmenovaný Stream kanál, který podporuje synchronní i asynchronní operace čtení a zápisu.

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
Dědičnost
NamedPipeClientStream
Dědičnost
NamedPipeClientStream

Příklady

Následující příklad ukazuje způsob odeslání řetězce z nadřazeného procesu podřízeného procesu ve stejném počítači pomocí pojmenovaných kanálů. Tento příklad vytvoří NamedPipeServerStream objekt v nadřazené procesu. Objekt NamedPipeServerStreamPipeDirection hodnotu Out. Server pak počká, až se NamedPipeClientStream k němu objekt v podřízené procesu připojí. V tomto příkladu jsou oba procesy ve stejném počítači a NamedPipeClientStream objekt má PipeDirection hodnotu In. Nadřazený proces poté odešle řetězec zadaný uživatelem podřízenému procesu. Řetězec se zobrazí v konzole nástroje .

Tento příklad je určený pro proces klienta, který se připojuje k procesu serveru. Celý vzorový kód, včetně kódu pro klienta kanálu i server, najdete v tématu Postupy: Použití pojmenovaných kanálů pro komunikaci mezi procesy sítě.

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

Poznámky

Pojmenované kanály poskytují jednosměrné nebo duplexní kanály pro komunikaci mezi serverem kanálu a jedním nebo více klienty kanálu. Pojmenované kanály se dají použít pro meziprocesovou komunikaci místně nebo přes síť. Jeden název kanálu může být sdílen více NamedPipeClientStream objekty.

Jakýkoli proces může fungovat jako server pojmenovaného kanálu, klient nebo obojí.

Konstruktory

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Inicializuje novou instanci NamedPipeClientStream třídy pro zadaný úchyt kanálu se zadaným směrem kanálu.

NamedPipeClientStream(String)

Inicializuje novou instanci NamedPipeClientStream třídy se zadaným názvem kanálu.

NamedPipeClientStream(String, String)

Inicializuje novou instanci NamedPipeClientStream třídy se zadaným názvem kanálu a serveru.

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

Inicializuje novou instanci NamedPipeClientStream třídy se zadaným názvem kanálu a serveru a zadanými možnostmi kanálu, úrovní zosobnění zabezpečení a režimem dědičnosti.

NamedPipeClientStream(String, String, PipeDirection)

Inicializuje novou instanci NamedPipeClientStream třídy se zadaným názvem kanálu a serveru a zadaným směrem kanálu.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

Inicializuje novou instanci NamedPipeClientStream třídy se zadanými názvy kanálů a serverů a zadaným směrem kanálu a možnostmi kanálu.

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

Inicializuje novou instanci NamedPipeClientStream třídy se zadanými názvy kanálů a serverů a zadaným směrem kanálu, možnostmi kanálu a úrovní zosobnění zabezpečení.

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

Inicializuje novou instanci NamedPipeClientStream třídy se zadanými názvy kanálů a serverů a zadaným směrem kanálu, možnostmi kanálu, úrovní zosobnění zabezpečení a režimem dědičnosti.

Vlastnosti

CanRead

Získá hodnotu označující, zda aktuální datový proud podporuje operace čtení.

(Zděděno od PipeStream)
CanSeek

Získá hodnotu označující, zda aktuální datový proud podporuje operace hledání.

(Zděděno od PipeStream)
CanTimeout

Získá hodnotu, která určuje, zda aktuální datový proud může vypršení časového limitu.

(Zděděno od Stream)
CanWrite

Získá hodnotu označující, zda aktuální datový proud podporuje operace zápisu.

(Zděděno od PipeStream)
InBufferSize

Získá velikost v bajtech příchozí vyrovnávací paměti pro kanál.

(Zděděno od PipeStream)
IsAsync

Získá hodnotu označující, zda PipeStream objekt byl otevřen asynchronně nebo synchronně.

(Zděděno od PipeStream)
IsConnected

Získá nebo nastaví hodnotu označující, zda PipeStream je objekt připojen.

(Zděděno od PipeStream)
IsHandleExposed

Získá hodnotu označující, zda je vystaven popisovač objektu PipeStream .

(Zděděno od PipeStream)
IsMessageComplete

Získá hodnotu označující, zda je více dat ve zprávě vrácena z poslední operace čtení.

(Zděděno od PipeStream)
Length

Získá délku datového proudu v bajtech.

(Zděděno od PipeStream)
NumberOfServerInstances

Získá počet instancí serveru, které sdílejí stejný název kanálu.

OutBufferSize

Získá velikost v bajtech odchozí vyrovnávací paměti pro kanál.

(Zděděno od PipeStream)
Position

Získá nebo nastaví aktuální pozici aktuálního datového proudu.

(Zděděno od PipeStream)
ReadMode

Získá nebo nastaví režim čtení objektu PipeStream .

(Zděděno od PipeStream)
ReadTimeout

Získá nebo nastaví hodnotu v milisekundách, která určuje, jak dlouho se datový proud pokusí číst před vypršením časového limitu.

(Zděděno od Stream)
SafePipeHandle

Získá bezpečný popisovač pro místní konec potrubí, který aktuální PipeStream objekt zapouzdřuje.

(Zděděno od PipeStream)
TransmissionMode

Získá režim přenosu potrubí podporovaný aktuálním kanálem.

(Zděděno od PipeStream)
WriteTimeout

Získá nebo nastaví hodnotu v milisekundách, která určuje, jak dlouho se datový proud pokusí zapisovat před vypršením časového limitu.

(Zděděno od Stream)

Metody

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

Zahájí asynchronní operaci čtení.

(Zděděno od PipeStream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zahájí asynchronní operaci zápisu.

(Zděděno od PipeStream)
CheckPipePropertyOperations()

Ověří, že kanál je ve správném stavu pro získání nebo nastavení vlastností.

(Zděděno od PipeStream)
CheckReadOperations()

Ověří, že kanál je v připojeném stavu pro operace čtení.

(Zděděno od PipeStream)
CheckWriteOperations()

Ověřuje, že kanál je v připojeném stavu pro operace zápisu.

(Zděděno od PipeStream)
Close()

Zavře aktuální datový proud a uvolní všechny prostředky (například sokety a popisovače souborů) přidružené k aktuálnímu datovému proudu. Místo volání této metody se ujistěte, že datový proud je správně odstraněn.

(Zděděno od Stream)
Connect()

Připojí se k čekajícímu serveru s nekonečnou hodnotou časového limitu.

Connect(Int32)

Připojí se k čekající serveru v zadaném časovém limitu.

Connect(TimeSpan)

Připojí se k čekající serveru v zadaném časovém limitu.

ConnectAsync()

Asynchronně se připojuje k čekajícímu serveru s nekonečným časovým limitem.

ConnectAsync(CancellationToken)

Asynchronně se připojuje k čekajícímu serveru a monitoruje požadavky na zrušení.

ConnectAsync(Int32)

Asynchronně se připojuje k čekajícímu serveru v zadaném časovém limitu.

ConnectAsync(Int32, CancellationToken)

Asynchronně se připojuje k čekajícímu serveru v rámci zadaného časového limitu a monitoruje požadavky na zrušení.

ConnectAsync(TimeSpan, CancellationToken)

Asynchronně se připojuje k čekajícímu serveru v rámci zadaného časového limitu a monitoruje požadavky na zrušení.

CopyTo(Stream)

Přečte bajty z aktuálního datového proudu a zapíše je do jiného datového proudu. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CopyTo(Stream, Int32)

Načte bajty z aktuálního datového proudu a zapíše je do jiného datového proudu s použitím zadané velikosti vyrovnávací paměti. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CopyToAsync(Stream)

Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CopyToAsync(Stream, CancellationToken)

Asynchronně přečte bajty z aktuálního datového proudu a zapíše je do jiného datového proudu pomocí zadaného tokenu zrušení. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CopyToAsync(Stream, Int32)

Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu pomocí zadané velikosti vyrovnávací paměti. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu pomocí zadané velikosti vyrovnávací paměti a tokenu zrušení. Obě pozice datových proudů se posouvají podle počtu zkopírovaných bajtů.

(Zděděno od Stream)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
CreateWaitHandle()
Zastaralé.
Zastaralé.
Zastaralé.

Přidělí WaitHandle objekt.

(Zděděno od Stream)
Dispose()

Uvolní všechny prostředky používané nástrojem Stream.

(Zděděno od Stream)
Dispose(Boolean)

Uvolní nespravované prostředky používané PipeStream třídou a volitelně uvolní spravované prostředky.

(Zděděno od PipeStream)
DisposeAsync()

Asynchronně uvolní nespravované prostředky, které Streampoužívá .

(Zděděno od Stream)
EndRead(IAsyncResult)

Ukončí čekající asynchronní požadavek na čtení.

(Zděděno od PipeStream)
EndWrite(IAsyncResult)

Ukončí čekající asynchronní požadavek na zápis.

(Zděděno od PipeStream)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Uvolní nespravované prostředky a provede další operace čištění před uvolněním NamedPipeClientStream instance uvolňováním paměti.

Flush()

Vymaže vyrovnávací paměť pro aktuální datový proud a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

(Zděděno od PipeStream)
FlushAsync()

Asynchronně vymaže všechny vyrovnávací paměti pro tento datový proud a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

(Zděděno od Stream)
FlushAsync(CancellationToken)

Asynchronně vymaže vyrovnávací paměť pro aktuální datový proud a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

(Zděděno od PipeStream)
GetAccessControl()

PipeSecurity Získá objekt, který zapouzdřuje položky seznamu řízení přístupu (ACL) pro potrubí popsané aktuálním PipeStream objektem.

(Zděděno od PipeStream)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Inicializuje PipeStream objekt ze zadaného SafePipeHandle objektu.

(Zděděno od PipeStream)
InitializeLifetimeService()
Zastaralé.

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ObjectInvariant()
Zastaralé.

Poskytuje podporu pro Contract.

(Zděděno od Stream)
Read(Byte[], Int32, Int32)

Načte blok bajtů z datového proudu a zapíše data do zadané vyrovnávací paměti počínaje zadanou polohou na zadanou délku.

(Zděděno od PipeStream)
Read(Span<Byte>)

Přečte posloupnost bajtů z aktuálního datového proudu, zapíše je do pole bajtů a posune pozici v rámci datového proudu o počet přečtených bajtů.

(Zděděno od PipeStream)
ReadAsync(Byte[], Int32, Int32)

Asynchronně přečte sekvenci bajtů z aktuálního datového proudu a posune pozici v rámci datového proudu o počet přečtených bajtů.

(Zděděno od Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronně přečte sekvenci bajtů z aktuálního datového proudu do pole bajtů začínající na zadané pozici pro zadaný počet bajtů, posune pozici v rámci datového proudu o počet přečtených bajtů a sleduje požadavky zrušení.

(Zděděno od PipeStream)
ReadAsync(Memory<Byte>, CancellationToken)

Asynchronně přečte sekvenci bajtů z aktuálního datového proudu, zapíše ji do rozsahu bajtové paměti, posune pozici v rámci datového proudu o počet přečtených bajtů a monitoruje požadavky na zrušení.

(Zděděno od PipeStream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Přečte alespoň minimální počet bajtů z aktuálního datového proudu a posune pozici v rámci datového proudu o počet přečtených bajtů.

(Zděděno od Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Asynchronně přečte alespoň minimální počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu o počet přečtených bajtů a sleduje požadavky na zrušení.

(Zděděno od Stream)
ReadByte()

Načte bajt z svislé roury.

(Zděděno od PipeStream)
ReadExactly(Byte[], Int32, Int32)

Načte count počet bajtů z aktuálního datového proudu a posune pozici v rámci datového proudu.

(Zděděno od Stream)
ReadExactly(Span<Byte>)

Načte bajty z aktuálního datového proudu a posune pozici v rámci datového proudu, dokud buffer není vyplněna.

(Zděděno od Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronně přečte count počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu a monitoruje požadavky na zrušení.

(Zděděno od Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Asynchronně čte bajty z aktuálního datového proudu, posune pozici v rámci datového proudu až do buffer vyplnění a monitoruje žádosti o zrušení.

(Zděděno od Stream)
Seek(Int64, SeekOrigin)

Nastaví aktuální pozici aktuálního datového proudu na zadanou hodnotu.

(Zděděno od PipeStream)
SetAccessControl(PipeSecurity)

Použije položky seznamu řízení přístupu (ACL) určené objektem PipeSecurity na kanál určený aktuálním PipeStream objektem.

(Zděděno od PipeStream)
SetLength(Int64)

Nastaví délku aktuálního datového proudu na zadanou hodnotu.

(Zděděno od PipeStream)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
WaitForPipeDrain()

Čeká, až druhý konec kanálu přečte všechny odeslané bajty.

(Zděděno od PipeStream)
Write(Byte[], Int32, Int32)

Zapíše blok bajtů do aktuálního datového proudu pomocí dat z vyrovnávací paměti.

(Zděděno od PipeStream)
Write(ReadOnlySpan<Byte>)

Zapíše posloupnost bajtů do aktuálního datového proudu a posune aktuální pozici v rámci tohoto datového proudu o počet zapsaných bajtů.

(Zděděno od PipeStream)
WriteAsync(Byte[], Int32, Int32)

Asynchronně zapíše posloupnost bajtů do aktuálního datového proudu a posune aktuální pozici v rámci tohoto datového proudu o počet zapsaných bajtů.

(Zděděno od Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronně zapíše zadaný počet bajtů z bajtového pole počínaje zadanou pozicí, posune aktuální pozici v rámci tohoto datového proudu o počet zapsaných bajtů a sleduje požadavky zrušení.

(Zděděno od PipeStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronně zapíše sekvenci bajtů do aktuálního datového proudu, posune aktuální pozici v rámci tohoto datového proudu o počet zapsaných bajtů a sleduje požadavky na zrušení.

(Zděděno od PipeStream)
WriteByte(Byte)

Zapíše bajt do aktuálního datového proudu.

(Zděděno od PipeStream)

Metody rozšíření

GetAccessControl(PipeStream)

Vrátí informace o zabezpečení datového proudu kanálu.

SetAccessControl(PipeStream, PipeSecurity)

Změní atributy zabezpečení existujícího datového proudu kanálu.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak se provádí funkce awaits u úloh vrácených z asynchronního jednorázového režimu.

Platí pro