NamedPipeClientStream Clase

Definición

Expone un objeto Stream alrededor de una canalización con nombre, que admite operaciones de lectura y escritura sincrónica y asincrónica.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
Herencia
NamedPipeClientStream

Ejemplos

En el ejemplo siguiente se muestra una manera de enviar una cadena de un proceso primario a un proceso secundario en el mismo equipo mediante canalizaciones con nombre.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. En este ejemplo se NamedPipeServerStream crea un objeto en un proceso primario.This example creates a NamedPipeServerStream object in a parent process. El NamedPipeServerStream objeto tiene un PipeDirection valor de Out.The NamedPipeServerStream object has a PipeDirection value of Out. A continuación, el servidor espera a NamedPipeClientStream que un objeto de un proceso secundario se conecte a él.The server then waits for a NamedPipeClientStream object in a child process to connect to it. En este ejemplo, ambos procesos están en el mismo equipo y el NamedPipeClientStream objeto tiene un PipeDirection valor de In.In this example, both processes are on the same computer and the NamedPipeClientStream object has a PipeDirection value of In. El proceso primario envía a continuación una cadena proporcionada por usuario al proceso secundario.The parent process then sends a user-supplied string to the child process. La cadena se muestra en la consola.The string is displayed to the console.

Este ejemplo es para el proceso del cliente, que se conecta al proceso del servidor.This example is for the client process, which connects to the server process. Para obtener el ejemplo de código completo, incluido el código para el cliente de canalización y el servidor, consulte Cómo: Usar canalizaciones con nombre para la comunicación de red entre procesos.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

Comentarios

Las canalizaciones con nombre proporcionan canalizaciones unidireccionales o dúplex para la comunicación entre un servidor de canalización y uno o más clientes de canalización.Named pipes provide one-way or duplex pipes for communication between a pipe server and one or more pipe clients. Las canalizaciones con nombre se pueden usar para la comunicación entre procesos localmente o a través de una red.Named pipes can be used for interprocess communication locally or over a network. Varios NamedPipeClientStream objetos pueden compartir un único nombre de canalización.A single pipe name can be shared by multiple NamedPipeClientStream objects.

Cualquier proceso puede actuar como un servidor o un cliente de canalización con nombre, o ambos.Any process can act as either a named pipe server or client, or both.

Constructores

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Inicializa una nueva instancia de la clase NamedPipeClientStream para el identificador de canalización especificado con la dirección de canalización especificada.Initializes a new instance of the NamedPipeClientStream class for the specified pipe handle with the specified pipe direction.

NamedPipeClientStream(String)

Inicializa una nueva instancia de la clase NamedPipeClientStream con el nombre de canalización especificado.Initializes a new instance of the NamedPipeClientStream class with the specified pipe name.

NamedPipeClientStream(String, String)

Inicializa una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y 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 una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y servidor especificados, y las características opciones de canalización, nivel de suplantación de seguridad y modo de herencia especificadas.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 una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y servidor especificados y la dirección de canalización 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 una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y servidor especificados, y la dirección y opciones de canalización 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 una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y servidor especificados, y las características: dirección de canalización, opciones de canalización y nivel de suplantación de seguridad especificadas.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 una nueva instancia de la clase NamedPipeClientStream con los nombres de canalización y servidor especificados, y las características dirección de la canalización, opciones de canalización, nivel de suplantación de seguridad y modo de herencia especificadas.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.

Propiedades

CanRead

Obtiene un valor que indica si la secuencia actual admite operaciones de lectura.Gets a value indicating whether the current stream supports read operations.

(Heredado de PipeStream)
CanSeek

Obtiene un valor que indica si la secuencia actual admite operaciones de búsqueda.Gets a value indicating whether the current stream supports seek operations.

(Heredado de PipeStream)
CanTimeout

Obtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual.Gets a value that determines whether the current stream can time out.

(Heredado de Stream)
CanWrite

Obtiene un valor que indica si la secuencia actual admite operaciones de escritura.Gets a value indicating whether the current stream supports write operations.

(Heredado de PipeStream)
InBufferSize

Obtiene el tamaño en bytes del búfer de entrada de una canalización.Gets the size, in bytes, of the inbound buffer for a pipe.

(Heredado de PipeStream)
IsAsync

Obtiene un valor que indica si un objeto PipeStream se abrió de forma sincrónica o asincrónica.Gets a value indicating whether a PipeStream object was opened asynchronously or synchronously.

(Heredado de PipeStream)
IsConnected

Obtiene o establece un valor que indica si un objeto PipeStream está conectado.Gets or sets a value indicating whether a PipeStream object is connected.

(Heredado de PipeStream)
IsHandleExposed

Obtiene un valor que indica si se expone un identificador a un objeto PipeStream.Gets a value indicating whether a handle to a PipeStream object is exposed.

(Heredado de PipeStream)
IsMessageComplete

Obtiene un valor que indica si hay más datos en el mensaje devuelto desde la operación de lectura más reciente.Gets a value indicating whether there is more data in the message returned from the most recent read operation.

(Heredado de PipeStream)
Length

Devuelve la longitud en bytes de una secuencia.Gets the length of a stream, in bytes.

(Heredado de PipeStream)
NumberOfServerInstances

Obtiene el número máximo de instancias de servidor que comparten el mismo nombre de canalización.Gets the number of server instances that share the same pipe name.

OutBufferSize

Obtiene el tamaño en bytes del búfer de salida de una canalización.Gets the size, in bytes, of the outbound buffer for a pipe.

(Heredado de PipeStream)
Position

Obtiene o establece la posición de la secuencia actual.Gets or sets the current position of the current stream.

(Heredado de PipeStream)
ReadMode

Obtiene o establece el modo de lectura de un objeto PipeStream.Gets or sets the reading mode for a PipeStream object.

(Heredado de PipeStream)
ReadTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Heredado de Stream)
SafePipeHandle

Obtiene el identificador seguro del extremo local de la canalización encapsulada por el objeto PipeStream actual.Gets the safe handle for the local end of the pipe that the current PipeStream object encapsulates.

(Heredado de PipeStream)
TransmissionMode

Obtiene el modo de transmisión de canalización compatible con la canalización actual.Gets the pipe transmission mode supported by the current pipe.

(Heredado de PipeStream)
WriteTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Heredado de Stream)

Métodos

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

Comienza una operación de lectura asincrónica.Begins an asynchronous read operation.

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

Comienza una operación de escritura asincrónica.Begins an asynchronous write operation.

(Heredado de PipeStream)
CheckPipePropertyOperations()

Comprueba si la canalización está en el estado apropiado para obtener o establecer las propiedades.Verifies that the pipe is in a proper state for getting or setting properties.

(Heredado de PipeStream)
CheckReadOperations()

Comprueba si la canalización está en estado conectado para las operaciones de lectura.Verifies that the pipe is in a connected state for read operations.

(Heredado de PipeStream)
CheckWriteOperations()

Comprueba si la canalización está en estado conectado para las operaciones de escritura.Verifies that the pipe is in a connected state for write operations.

(Heredado de PipeStream)
Close()

Cierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. En lugar de llamar a este método, asegúrese de que la secuencia se desecha correctamente.Instead of calling this method, ensure that the stream is properly disposed.

(Heredado de Stream)
Connect()

Conecta a un servidor de espera con un valor de tiempo de espera infinito.Connects to a waiting server with an infinite time-out value.

Connect(Int32)

Conecta con un servidor de espera dentro del período de tiempo de espera especificado.Connects to a waiting server within the specified time-out period.

ConnectAsync()

Se conecta de manera asincrónica a un servidor en espera con un período de tiempo de espera infinito.Asynchronously connects to a waiting server with an infinite timeout period.

ConnectAsync(CancellationToken)

Se conecta de manera asincrónica a un servidor en espera y supervisa las solicitudes de cancelación.Asynchronously connects to a waiting server and monitors cancellation requests.

ConnectAsync(Int32)

Se conecta de manera asincrónica a un servidor en espera dentro del período de tiempo de espera especificado.Asynchronously connects to a waiting server within the specified timeout period.

ConnectAsync(Int32, CancellationToken)

Se conecta de manera asincrónica a un servidor en espera dentro del período de tiempo de espera especificado y supervisa las solicitudes de cancelación.Asynchronously connects to a waiting server within the specified timeout period and monitors cancellation requests.

CopyTo(Stream)

Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino.Reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyTo(Stream, Int32)

Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Heredado de Stream)
CopyToAsync(Stream)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyToAsync(Stream, CancellationToken)

Lee de forma asincrónica los bytes de la secuencia actual y los escribe en otra secuencia mediante un token de cancelación especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Heredado de Stream)
CopyToAsync(Stream, Int32)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

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

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, utilizando el tamaño de búfer y el token de cancelación especificados.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Heredado de Stream)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
CreateWaitHandle()

Asigna un objeto WaitHandle.Allocates a WaitHandle object.

(Heredado de Stream)
Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase PipeStream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the PipeStream class and optionally releases the managed resources.

(Heredado de PipeStream)
DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Heredado de Stream)
EndRead(IAsyncResult)

Finaliza una solicitud de lectura asincrónica pendiente.Ends a pending asynchronous read request.

(Heredado de PipeStream)
EndWrite(IAsyncResult)

Finaliza una solicitud de escritura asincrónica pendiente.Ends a pending asynchronous write request.

(Heredado de PipeStream)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que la recolección de elementos no utilizados reclame la instancia de NamedPipeClientStream.Releases unmanaged resources and performs other cleanup operations before the NamedPipeClientStream instance is reclaimed by garbage collection.

Flush()

Borra el búfer de la secuencia actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente.Clears the buffer for the current stream and causes any buffered data to be written to the underlying device.

(Heredado de PipeStream)
FlushAsync()

Borra asincrónicamente todos los búferes de esta secuencia y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Heredado de Stream)
FlushAsync(CancellationToken)

Borra asincrónicamente todos los búferes de esta secuencia, y hace que todos los datos almacenados en búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Heredado de Stream)
GetAccessControl()

Obtiene un objeto PipeSecurity que encapsula las entradas de la lista de control de acceso (ACL) de la canalización descrita por el objeto PipeStream actual.Gets a PipeSecurity object that encapsulates the access control list (ACL) entries for the pipe described by the current PipeStream object.

(Heredado de PipeStream)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Inicializa un objeto PipeStream a partir del objeto SafePipeHandle especificado.Initializes a PipeStream object from the specified SafePipeHandle object.

(Heredado de PipeStream)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ObjectInvariant()

Proporciona compatibilidad con una clase Contract.Provides support for a Contract.

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

Lee un bloque de bytes de una secuencia y escribe los datos en un búfer especificado, a partir de una posición especificada y con una longitud especificada.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.

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

Lee una secuencia de bytes de la secuencia actual, las escribe en una matriz de bytes y avanza la posición dentro de la secuencia el número de bytes leídos.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.

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

Lee asincrónicamente una secuencia de bytes de la secuencia actual y avanza la posición en esta secuencia según el número de bytes leídos.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

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

Lee de forma asincrónica una secuencia de bytes desde la secuencia actual a una matriz de bytes a partir de una posición especificada para un número de bytes especificado, avanza la posición dentro de la secuencia el número de bytes leídos y supervisa las solicitudes de cancelación.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.

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

Lee de forma asincrónica una secuencia de bytes en la secuencia actual, los escribe en un intervalo de memoria de bytes, avanza la posición dentro de la secuencia el número de bytes leídos y supervisa las solicitudes de cancelación.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.

(Heredado de PipeStream)
ReadByte()

Lee un byte de una canalización.Reads a byte from a pipe.

(Heredado de PipeStream)
Seek(Int64, SeekOrigin)

Establece la posición actual de esta secuencia en el valor especificado.Sets the current position of the current stream to the specified value.

(Heredado de PipeStream)
SetAccessControl(PipeSecurity)

Aplica las entradas de la lista de control de acceso (ACL) especificadas por un objeto PipeSecurity a la canalización establecida por el objeto PipeStream actual.Applies the access control list (ACL) entries specified by a PipeSecurity object to the pipe specified by the current PipeStream object.

(Heredado de PipeStream)
SetLength(Int64)

Establece la longitud de la secuencia actual en el valor especificado.Sets the length of the current stream to the specified value.

(Heredado de PipeStream)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
WaitForPipeDrain()

Espera hasta que el otro final de la canalización lea todos los bytes enviados.Waits for the other end of the pipe to read all sent bytes.

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

Escribe un bloque de bytes en la secuencia actual utilizando los datos de un búfer.Writes a block of bytes to the current stream using data from a buffer.

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

Escribe una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos.Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Escribe asincrónicamente una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Escribe de forma asincrónica un número especificado de bytes en una matriz de bytes a partir de una posición especificada, avanza la posición actual dentro de esta secuencia el número de bytes escritos y supervisa las solicitudes de cancelación.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.

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

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.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.

(Heredado de PipeStream)
WriteByte(Byte)

Escribe un byte en la secuencia actual.Writes a byte to the current stream.

(Heredado de PipeStream)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)

Métodos de extensión

GetAccessControl(PipeStream)
SetAccessControl(PipeStream, PipeSecurity)

Se aplica a