NamedPipeClientStream Classe

Definição

Expõe um Stream em torno de um pipe nomeado, que dá suporte a operações de leitura e gravação síncronas e assíncronas.Exposes a Stream around a named pipe, which supports both synchronous and asynchronous read and write operations.

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
Herança
NamedPipeClientStream
Herança
NamedPipeClientStream

Exemplos

O exemplo a seguir demonstra uma maneira de enviar uma cadeia de caracteres de um processo pai para um processo filho no mesmo computador usando pipes nomeados.The following example demonstrates a way to send a string from a parent process to a child process on the same computer using named pipes. Este exemplo cria um NamedPipeServerStream objeto em um processo pai.This example creates a NamedPipeServerStream object in a parent process. O NamedPipeServerStream objeto tem um PipeDirection valor de Out .The NamedPipeServerStream object has a PipeDirection value of Out. Em seguida, o servidor aguarda um NamedPipeClientStream objeto em um processo filho para se conectar a ele.The server then waits for a NamedPipeClientStream object in a child process to connect to it. Neste exemplo, ambos os processos estão no mesmo computador e o NamedPipeClientStream objeto tem um PipeDirection valor de In .In this example, both processes are on the same computer and the NamedPipeClientStream object has a PipeDirection value of In. Em seguida, o processo pai envia uma cadeia de caracteres fornecida pelo usuário ao processo filho.The parent process then sends a user-supplied string to the child process. A cadeia de caracteres é exibida para o console.The string is displayed to the console.

Este exemplo é para o processo do cliente, que se conecta ao processo do servidor.This example is for the client process, which connects to the server process. Para o exemplo de código inteiro, incluindo o código para o cliente e o servidor de pipe, consulte como usar pipes nomeados para comunicação entre processos de rede.For the entire code sample, including the code for both the pipe client and server, see How to: Use Named Pipes for Network Interprocess Communication.

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

Comentários

Pipes nomeados fornecem pipes unidirecionais ou duplex para comunicação entre um servidor de pipe e um ou mais clientes de pipe.Named pipes provide one-way or duplex pipes for communication between a pipe server and one or more pipe clients. Pipes nomeados podem ser usados para comunicação entre processos localmente ou em uma rede.Named pipes can be used for interprocess communication locally or over a network. Um único nome de pipe pode ser compartilhado por vários NamedPipeClientStream objetos.A single pipe name can be shared by multiple NamedPipeClientStream objects.

Qualquer processo pode atuar como um servidor ou cliente de pipe nomeado, ou ambos.Any process can act as either a named pipe server or client, or both.

Construtores

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Inicializa uma nova instância da classe NamedPipeClientStream para o identificador de pipe especificado com a direção de pipe especificada.Initializes a new instance of the NamedPipeClientStream class for the specified pipe handle with the specified pipe direction.

NamedPipeClientStream(String)

Inicializa uma nova instância da classe NamedPipeClientStream com o nome do pipe especificado.Initializes a new instance of the NamedPipeClientStream class with the specified pipe name.

NamedPipeClientStream(String, String)

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de pipe e servidor especificados.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names.

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

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de servidor e pipe especificados e as opções de pipe, o nível de representação de segurança e o modo de herdabilidade especificados.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names, and the specified pipe options, security impersonation level, and inheritability mode.

NamedPipeClientStream(String, String, PipeDirection)

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de pipe e servidor especificados e a direção de pipe especificada.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names, and the specified pipe direction.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de pipe e servidor especificados, além das opções de pipe e direção de pipe especificadas.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names, and the specified pipe direction and pipe options.

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

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de pipe e servidor especificados, a direção de pipe especificada, as opções de pipe e o nível de representação de segurança.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names, and the specified pipe direction, pipe options, and security impersonation level.

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

Inicializa uma nova instância da classe NamedPipeClientStream com os nomes de pipe e de servidor especificados e a direção do pipe, as opções de pipe, o nível de representação de segurança e o modo de capacidade de herança especificados.Initializes a new instance of the NamedPipeClientStream class with the specified pipe and server names, and the specified pipe direction, pipe options, security impersonation level, and inheritability mode.

Propriedades

CanRead

Obtém um valor que indica se o fluxo atual dá suporte a operações de leitura.Gets a value indicating whether the current stream supports read operations.

(Herdado de PipeStream)
CanSeek

Obtém um valor que indica se o fluxo atual dá suporte a operações de espiada.Gets a value indicating whether the current stream supports seek operations.

(Herdado de PipeStream)
CanTimeout

Obtém um valor que determina se o fluxo atual pode atingir o tempo limite.Gets a value that determines whether the current stream can time out.

(Herdado de Stream)
CanWrite

Obtém um valor que indica se o fluxo atual dá suporte a operações de gravação.Gets a value indicating whether the current stream supports write operations.

(Herdado de PipeStream)
InBufferSize

Obtém o tamanho, em bytes, do buffer de entrada para um pipe.Gets the size, in bytes, of the inbound buffer for a pipe.

(Herdado de PipeStream)
IsAsync

Obtém um valor que indica se um objeto PipeStream foi aberto de maneira assíncrona ou síncrona.Gets a value indicating whether a PipeStream object was opened asynchronously or synchronously.

(Herdado de PipeStream)
IsConnected

Obtém ou define um valor que indica se um objeto PipeStream está conectado.Gets or sets a value indicating whether a PipeStream object is connected.

(Herdado de PipeStream)
IsHandleExposed

Obtém um valor que indica se um identificador para um objeto PipeStream é exposto.Gets a value indicating whether a handle to a PipeStream object is exposed.

(Herdado de PipeStream)
IsMessageComplete

Obtém um valor que indica se há mais dados na mensagem retornada da operação de leitura mais recente.Gets a value indicating whether there is more data in the message returned from the most recent read operation.

(Herdado de PipeStream)
Length

Obtém o comprimento de um fluxo, em bytes.Gets the length of a stream, in bytes.

(Herdado de PipeStream)
NumberOfServerInstances

Obtém o número de instâncias de servidor que compartilham o mesmo nome de pipe.Gets the number of server instances that share the same pipe name.

OutBufferSize

Obtém o tamanho, em bytes, do buffer de saída para um pipe.Gets the size, in bytes, of the outbound buffer for a pipe.

(Herdado de PipeStream)
Position

Obtém ou define a posição atual do fluxo atual.Gets or sets the current position of the current stream.

(Herdado de PipeStream)
ReadMode

Obtém ou define o modo de leitura para um objeto PipeStream.Gets or sets the reading mode for a PipeStream object.

(Herdado de PipeStream)
ReadTimeout

Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará realizar a leitura antes do tempo limite.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Herdado de Stream)
SafePipeHandle

Obtém o identificador seguro para a extremidade local do pipe encapsulado pelo objeto PipeStream atual.Gets the safe handle for the local end of the pipe that the current PipeStream object encapsulates.

(Herdado de PipeStream)
TransmissionMode

Obtém o modo de transmissão de pipe para o qual o pipe atual dá suporte.Gets the pipe transmission mode supported by the current pipe.

(Herdado de PipeStream)
WriteTimeout

Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará realizar a gravação antes do tempo limite.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Herdado de Stream)

Métodos

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

Inicia uma operação de leitura assíncrona.Begins an asynchronous read operation.

(Herdado de PipeStream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia uma operação de gravação assíncrona.Begins an asynchronous write operation.

(Herdado de PipeStream)
CheckPipePropertyOperations()

Verifica se o pipe está no estado correto para obter ou definir propriedades.Verifies that the pipe is in a proper state for getting or setting properties.

(Herdado de PipeStream)
CheckReadOperations()

Verifica se o pipe está em um estado conectado para operações de leitura.Verifies that the pipe is in a connected state for read operations.

(Herdado de PipeStream)
CheckWriteOperations()

Verifica se o pipe está em um estado conectado para operações de gravação.Verifies that the pipe is in a connected state for write operations.

(Herdado de PipeStream)
Close()

Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivos) associados ao fluxo atual.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Em vez de chamar esse método, verifique se o fluxo é descartado corretamente.Instead of calling this method, ensure that the stream is properly disposed.

(Herdado de Stream)
Connect()

Conecta a um servidor de espera com um valor de tempo limite infinito.Connects to a waiting server with an infinite time-out value.

Connect(Int32)

Conecta a um servidor de espera dentro do período de tempo limite especificado.Connects to a waiting server within the specified time-out period.

ConnectAsync()

Conecta-se de maneira assíncrona a um servidor de espera com um período de tempo limite infinito.Asynchronously connects to a waiting server with an infinite timeout period.

ConnectAsync(CancellationToken)

Conecta-se de maneira assíncrona a um servidor em espera e monitora solicitações de cancelamento.Asynchronously connects to a waiting server and monitors cancellation requests.

ConnectAsync(Int32)

Conecta-se de maneira assíncrona a um servidor de espera dentro do período de tempo limite especificado.Asynchronously connects to a waiting server within the specified timeout period.

ConnectAsync(Int32, CancellationToken)

Conecta-se de maneira assíncrona a um servidor de espera no período de tempo limite especificado e monitora solicitações de cancelamento.Asynchronously connects to a waiting server within the specified timeout period and monitors cancellation requests.

CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo.Reads the bytes from the current stream and writes them to another stream.

(Herdado de Stream)
CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Herdado de Stream)
CopyToAsync(Stream)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Herdado de Stream)
CopyToAsync(Stream, CancellationToken)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um token de cancelamento especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê de maneira assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Herdado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado e um token de cancelamento.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Herdado de Stream)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.

Aloca um objeto WaitHandle.Allocates a WaitHandle object.

(Herdado de Stream)
Dispose()

Libera todos os recursos usados pelo Stream.Releases all resources used by the Stream.

(Herdado de Stream)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe PipeStream e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the PipeStream class and optionally releases the managed resources.

(Herdado de PipeStream)
DisposeAsync()

Libera de forma assíncrona os recursos não gerenciados usados pelo Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Herdado de Stream)
EndRead(IAsyncResult)

Encerra uma solicitação de leitura assíncrona pendente.Ends a pending asynchronous read request.

(Herdado de PipeStream)
EndWrite(IAsyncResult)

Encerra uma solicitação de gravação assíncrona pendente.Ends a pending asynchronous write request.

(Herdado de PipeStream)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Libera recursos não gerenciados e executa outras operações de limpeza antes que a instância NamedPipeClientStream seja recuperada pela coleta de lixo.Releases unmanaged resources and performs other cleanup operations before the NamedPipeClientStream instance is reclaimed by garbage collection.

Flush()

Limpa o buffer para o fluxo atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente.Clears the buffer for the current stream and causes any buffered data to be written to the underlying device.

(Herdado de PipeStream)
FlushAsync()

Limpa de forma assíncrona todos os buffers nesse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Herdado de Stream)
FlushAsync(CancellationToken)

Limpa de modo assíncrono o buffer para o fluxo atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente.Asynchronously clears the buffer for the current stream and causes any buffered data to be written to the underlying device.

(Herdado de PipeStream)
GetAccessControl()

Obtém um objeto PipeSecurity que encapsula as entradas da ACL (lista de controle de acesso) para o pipe descrito pelo objeto PipeStream atual.Gets a PipeSecurity object that encapsulates the access control list (ACL) entries for the pipe described by the current PipeStream object.

(Herdado de PipeStream)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Inicializa um objeto PipeStream usando o objeto SafePipeHandle especificado.Initializes a PipeStream object from the specified SafePipeHandle object.

(Herdado de PipeStream)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Oferece suporte a um Contract.Provides support for a Contract.

(Herdado de Stream)
Read(Byte[], Int32, Int32)

Lê um bloco de bytes de um fluxo e grava os dados em um buffer especificado, começando em uma posição especificada para um tamanho especificado.Reads a block of bytes from a stream and writes the data to a specified buffer starting at a specified position for a specified length.

(Herdado de PipeStream)
Read(Span<Byte>)

Lê uma sequência de bytes do fluxo em buffer atual, grava-os em uma matriz de bytes e avança a posição no fluxo até o número de bytes lidos.Reads a sequence of bytes from the current stream, writes them to a byte array, and advances the position within the stream by the number of bytes read.

(Herdado de PipeStream)
ReadAsync(Byte[], Int32, Int32)

Lê uma sequência de bytes do fluxo atual de forma assíncrona e avança a posição no fluxo até o número de bytes lidos.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Herdado de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lê de forma assíncrona uma sequência de bytes do fluxo em buffer atual para uma matriz de bytes começando em uma posição especificada de um número especificado de bytes, avança a posição no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.Asynchronously reads a sequence of bytes from the current stream to a byte array starting at a specified position for a specified number of bytes, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Herdado de PipeStream)
ReadAsync(Memory<Byte>, CancellationToken)

Lê de forma assíncrona uma sequência de bytes do fluxo em buffer atual, grava-os em um intervalo de memória de bytes, avança a posição no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.Asynchronously reads a sequence of bytes from the current stream, writes them to a byte memory range, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Herdado de PipeStream)
ReadByte()

Lê um byte de um pipe.Reads a byte from a pipe.

(Herdado de PipeStream)
Seek(Int64, SeekOrigin)

Define a posição atual do fluxo atual para o valor especificado.Sets the current position of the current stream to the specified value.

(Herdado de PipeStream)
SetAccessControl(PipeSecurity)

Aplica as entradas de ACL (lista de controle de acesso) especificadas por um objeto PipeSecurity ao pipe especificado pelo objeto PipeStream atual.Applies the access control list (ACL) entries specified by a PipeSecurity object to the pipe specified by the current PipeStream object.

(Herdado de PipeStream)
SetLength(Int64)

Define o comprimento do fluxo atual para o valor especificado.Sets the length of the current stream to the specified value.

(Herdado de PipeStream)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
WaitForPipeDrain()

Aguarda até que o outro participante do pipe leia todos os bytes enviados.Waits for the other end of the pipe to read all sent bytes.

(Herdado de PipeStream)
Write(Byte[], Int32, Int32)

Grava um bloco de bytes no fluxo atual usando os dados de um buffer.Writes a block of bytes to the current stream using data from a buffer.

(Herdado de PipeStream)
Write(ReadOnlySpan<Byte>)

Grava uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes gravados.Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Herdado de PipeStream)
WriteAsync(Byte[], Int32, Int32)

Grava assincronamente uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo no número de bytes gravados.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Herdado de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Grava de forma assíncrona um número especificado de bytes de uma matriz de bytes começando em uma posição especificada, avança a posição atual nesse fluxo até o número de bytes gravados e monitora solicitações de cancelamento.Asynchronously writes a specified number of bytes from a byte array starting at a specified position, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Herdado de PipeStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Grava uma sequência de bytes no fluxo atual assincronamente, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora as solicitações de cancelamento.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Herdado de PipeStream)
WriteByte(Byte)

Grava um byte no fluxo atual.Writes a byte to the current stream.

(Herdado de PipeStream)

Implantações explícitas de interface

IDisposable.Dispose()

Libera todos os recursos usados pelo Stream.Releases all resources used by the Stream.

(Herdado de Stream)

Métodos de Extensão

GetAccessControl(PipeStream)

Retorna as informações de segurança de um fluxo de pipe.Returns the security information of a pipe stream.

SetAccessControl(PipeStream, PipeSecurity)

Altera os atributos de segurança de um fluxo de pipe existente.Changes the security attributes of an existing pipe stream.

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono são realizadas.Configures how awaits on the tasks returned from an async disposable are performed.

Aplica-se a