NamedPipeServerStream Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Expõe um Stream em torno de um pipe nomeado, dando suporte a operações de leitura e gravação síncronas e assíncronas.
public ref class NamedPipeServerStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeServerStream : System.IO.Pipes.PipeStream
type NamedPipeServerStream = class
inherit PipeStream
Public NotInheritable Class NamedPipeServerStream
Inherits PipeStream
- Herança
- Herança
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. Este exemplo cria um NamedPipeServerStream objeto em um processo pai com um PipeDirection valor de Out. Em seguida, o servidor aguarda um NamedPipeClientStream objeto em um processo filho se conectar a ele. Neste exemplo, ambos os processos estão no mesmo computador e o NamedPipeClientStream objeto tem um PipeDirection valor de In. Em seguida, o processo pai envia uma cadeia de caracteres fornecida pelo usuário ao processo filho. A cadeia de caracteres é exibida no console.
Este exemplo é para o processo do servidor, que usa a NamedPipeServerStream classe . Para obter todo o exemplo de código, incluindo o código para o cliente de pipe e o servidor, consulte Como usar pipes nomeados para comunicação entre processos de rede.
using System;
using System.IO;
using System.IO.Pipes;
class PipeServer
{
static void Main()
{
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("testpipe", PipeDirection.Out))
{
Console.WriteLine("NamedPipeServerStream object created.");
// Wait for a client to connect
Console.Write("Waiting for client connection...");
pipeServer.WaitForConnection();
Console.WriteLine("Client connected.");
try
{
// Read user input and send that to the client process.
using (StreamWriter sw = new StreamWriter(pipeServer))
{
sw.AutoFlush = true;
Console.Write("Enter text: ");
sw.WriteLine(Console.ReadLine());
}
}
// Catch the IOException that is raised if the pipe is broken
// or disconnected.
catch (IOException e)
{
Console.WriteLine("ERROR: {0}", e.Message);
}
}
}
}
Imports System.IO
Imports System.IO.Pipes
Class PipeServer
Shared Sub Main()
Dim pipeServer As New NamedPipeServerStream("testpipe", PipeDirection.Out)
Console.WriteLine("NamedPipeServerStream object created.")
' Wait for a client to connect
Console.Write("Waiting for a client connection...")
pipeServer.WaitForConnection()
Console.WriteLine("Client connected.")
Try
'Read user input and send that to the client process.
Dim sw As New StreamWriter(pipeServer)
sw.AutoFlush = True
Console.Write("Enter Text: ")
sw.WriteLine(Console.ReadLine())
Catch ex As IOException
' Catch the IOException that is raised if the pipe is broken
' or disconnected
Console.WriteLine("ERROR: {0}", ex.Message)
End Try
End Sub
End Class
Comentários
Os pipes nomeados fornecem pipes unidirecionais ou duplex para comunicação entre um servidor de pipe e um ou mais clientes de pipe. Os pipes nomeados podem ser usados para comunicação entre processos localmente ou em uma rede. Um único nome de pipe pode ser compartilhado por vários NamedPipeClientStream objetos.
Qualquer processo pode atuar como um servidor ou cliente de pipe nomeado ou ambos.
Construtores
NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) |
Inicializa uma nova instância da classe NamedPipeServerStream do identificador de pipe especificado. |
NamedPipeServerStream(String) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe especificado. |
NamedPipeServerStream(String, PipeDirection) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe e a direção do pipe especificados. |
NamedPipeServerStream(String, PipeDirection, Int32) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome de pipe, direção do pipe e o número máximo de instâncias do servidor especificados. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe, a direção do pipe, o número máximo de instâncias do servidor e o modo de transmissão especificados. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe, direção do pipe, número máximo de instâncias do servidor, modo de transmissão e opções de pipe especificados. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe, direção do pipe, número máximo de instâncias do servidor, modo de transmissão, opções de pipe e os tamanhos do buffer de entrada e saída recomendados especificados. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe, direção do pipe, número máximo de instâncias do servidor, modo de transmissão, opções de pipe, tamanhos do buffer de entrada e saída recomendados e segurança do pipe especificados. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome de pipe especificado, a direção do pipe, o número máximo de instâncias de servidor, o modo de transmissão, as opções de pipe, os tamanhos de buffer de entrada e saída recomendados, a segurança de pipe e o modo de capacidade de herdar. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights) |
Inicializa uma nova instância da classe NamedPipeServerStream com o nome do pipe, direção do pipe, número máximo de instâncias do servidor, modo de transmissão, opções de pipe, tamanhos do buffer de entrada e saída recomendados, segurança do pipe, modo de herdabilidade e direitos de acesso do pipe especificados. |
Campos
MaxAllowedServerInstances |
Representa o número máximo de instâncias do servidor que os recursos do sistema permitem. |
Propriedades
CanRead |
Obtém um valor que indica se o fluxo atual dá suporte a operações de leitura. (Herdado de PipeStream) |
CanSeek |
Obtém um valor que indica se o fluxo atual dá suporte a operações de espiada. (Herdado de PipeStream) |
CanTimeout |
Obtém um valor que determina se o fluxo atual pode atingir o tempo limite. (Herdado de Stream) |
CanWrite |
Obtém um valor que indica se o fluxo atual dá suporte a operações de gravação. (Herdado de PipeStream) |
InBufferSize |
Obtém o tamanho, em bytes, do buffer de entrada para um pipe. (Herdado de PipeStream) |
IsAsync |
Obtém um valor que indica se um objeto PipeStream foi aberto de maneira assíncrona ou síncrona. (Herdado de PipeStream) |
IsConnected |
Obtém ou define um valor que indica se um objeto PipeStream está conectado. (Herdado de PipeStream) |
IsHandleExposed |
Obtém um valor que indica se um identificador para um objeto PipeStream é exposto. (Herdado de PipeStream) |
IsMessageComplete |
Obtém um valor que indica se há mais dados na mensagem retornada da operação de leitura mais recente. (Herdado de PipeStream) |
Length |
Obtém o comprimento de um fluxo, em bytes. (Herdado de PipeStream) |
OutBufferSize |
Obtém o tamanho, em bytes, do buffer de saída para um pipe. (Herdado de PipeStream) |
Position |
Obtém ou define a posição atual do fluxo atual. (Herdado de PipeStream) |
ReadMode |
Obtém ou define o modo de leitura para um objeto PipeStream. (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. (Herdado de Stream) |
SafePipeHandle |
Obtém o identificador seguro para a extremidade local do pipe encapsulado pelo objeto PipeStream atual. (Herdado de PipeStream) |
TransmissionMode |
Obtém o modo de transmissão de pipe para o qual o pipe atual dá suporte. (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. (Herdado de Stream) |
Métodos
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Inicia uma operação de leitura assíncrona. (Herdado de PipeStream) |
BeginWaitForConnection(AsyncCallback, Object) |
Inicia uma operação assíncrona para esperar que um cliente se conecte. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Inicia uma operação de gravação assíncrona. (Herdado de PipeStream) |
CheckPipePropertyOperations() |
Verifica se o pipe está no estado correto para obter ou definir propriedades. (Herdado de PipeStream) |
CheckReadOperations() |
Verifica se o pipe está em um estado conectado para operações de leitura. (Herdado de PipeStream) |
CheckWriteOperations() |
Verifica se o pipe está em um estado conectado para operações de gravação. (Herdado de PipeStream) |
Close() |
Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivos) associados ao fluxo atual. Em vez de chamar esse método, verifique se o fluxo é descartado corretamente. (Herdado de Stream) |
CopyTo(Stream) |
Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (Herdado de Stream) |
CopyTo(Stream, Int32) |
Lê os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (Herdado de Stream) |
CopyToAsync(Stream) |
Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (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. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (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. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (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. Ambas as posições de fluxo são avançadas pelo número de bytes copiados. (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. (Herdado de MarshalByRefObject) |
CreateWaitHandle() |
Obsoleto.
Obsoleto.
Obsoleto.
Aloca um objeto WaitHandle. (Herdado de Stream) |
Disconnect() |
Desconecta a conexão atual. |
Dispose() |
Libera todos os recursos usados pelo Stream. (Herdado de Stream) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pela classe PipeStream e, opcionalmente, libera os recursos gerenciados. (Herdado de PipeStream) |
DisposeAsync() |
Libera de forma assíncrona os recursos não gerenciados usados pelo Stream. (Herdado de Stream) |
EndRead(IAsyncResult) |
Encerra uma solicitação de leitura assíncrona pendente. (Herdado de PipeStream) |
EndWaitForConnection(IAsyncResult) |
Termina uma operação assíncrona para esperar um cliente se conectar. |
EndWrite(IAsyncResult) |
Encerra uma solicitação de gravação assíncrona pendente. (Herdado de PipeStream) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Finalize() |
Libera recursos não gerenciados e executa outras operações de limpeza antes que a instância NamedPipeServerStream seja recuperada pela coleta de lixo. |
Flush() |
Limpa o buffer para o fluxo atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente. (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. (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. (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. (Herdado de PipeStream) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetImpersonationUserName() |
Obtém o nome de usuário do cliente na outra extremidade do pipe. |
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. (Herdado de MarshalByRefObject) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
InitializeHandle(SafePipeHandle, Boolean, Boolean) |
Inicializa um objeto PipeStream usando o objeto SafePipeHandle especificado. (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. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
ObjectInvariant() |
Obsoleto.
Oferece suporte a um 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. (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. (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. (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. (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. (Herdado de PipeStream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Lê pelo menos um número mínimo de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos. (Herdado de Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Lê de forma assíncrona pelo menos um número mínimo de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento. (Herdado de Stream) |
ReadByte() |
Lê um byte de um pipe. (Herdado de PipeStream) |
ReadExactly(Byte[], Int32, Int32) |
Lê |
ReadExactly(Span<Byte>) |
Lê bytes do fluxo atual e avança a posição dentro do fluxo até que o |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Lê |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Lê bytes de forma assíncrona do fluxo atual, avança a posição dentro do fluxo até que o |
RunAsClient(PipeStreamImpersonationWorker) |
Chama um delegado ao representar o cliente. |
Seek(Int64, SeekOrigin) |
Define a posição atual do fluxo atual para o valor especificado. (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. (Herdado de PipeStream) |
SetLength(Int64) |
Define o comprimento do fluxo atual para o valor especificado. (Herdado de PipeStream) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
WaitForConnection() |
Espera até que um cliente se conecte a este objeto NamedPipeServerStream. |
WaitForConnectionAsync() |
Aguarda de forma assíncrona até que um cliente se conecte a este objeto NamedPipeServerStream. |
WaitForConnectionAsync(CancellationToken) |
Espera de maneira assíncrona que um cliente conecte-se a este objeto NamedPipeServerStream e monitora solicitações de cancelamento. |
WaitForPipeDrain() |
Aguarda até que o outro participante do pipe leia todos os bytes enviados. (Herdado de PipeStream) |
Write(Byte[], Int32, Int32) |
Grava um bloco de bytes no fluxo atual usando os dados de um 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. (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. (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. (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. (Herdado de PipeStream) |
WriteByte(Byte) |
Grava um byte no fluxo atual. (Herdado de PipeStream) |
Métodos de Extensão
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Lê de forma assíncrona os bytes do Stream e grava-os no PipeWriter especificado usando um token de cancelamento especificado. |
GetAccessControl(PipeStream) |
Retorna as informações de segurança de um fluxo de pipe. |
SetAccessControl(PipeStream, PipeSecurity) |
Altera os atributos de segurança de um fluxo de pipe existente. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura como as esperas nas tarefas retornadas de um descartável assíncrono são realizadas. |
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de