Compartilhar via


NetworkStream Classe

Definição

Fornece o fluxo subjacente de dados para acesso à rede.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
Herança
NetworkStream
Herança
Implementações

Comentários

A NetworkStream classe fornece métodos para enviar e receber dados em Stream soquetes no modo de bloqueio. Para obter mais informações sobre bloqueio versus bloqueios Socket, consulte Usando um soquete de cliente assíncrono. Você pode usar a NetworkStream classe para transferência de dados síncrona e assíncrona. Para obter mais informações sobre comunicação síncrona e assíncrona, consulte Soquetes.

Para criar um NetworkStream, você deve fornecer uma conexão Socket. Você também pode especificar qual FileAccess permissão o NetworkStream usuário tem sobre o fornecido Socket. Por padrão, fechar o NetworkStream não fecha o fornecido Socket. Se você quiser que a NetworkStream permissão seja fechada, especifique trueSocketo valor do ownsSocket parâmetro.

Use o e Read os Write métodos para e/S de bloqueio síncrono simples de thread. Se você quiser processar sua E/S de forma assíncrona, considere o uso dos Task métodos baseados ou ValueTaskbaseados ReadAsync e WriteAsync.

O NetworkStream não dá suporte ao acesso aleatório ao fluxo de dados de rede. O valor da CanSeek propriedade, que indica se o fluxo dá suporte à busca, é sempre false; ler a Position propriedade, ler a Length propriedade ou chamar o Seek método gerará um NotSupportedException.

As operações de leitura e gravação podem ser executadas simultaneamente em uma instância da NetworkStream classe sem a necessidade de sincronização. Desde que haja um thread exclusivo para as operações de gravação e um thread exclusivo para as operações de leitura, não haverá nenhuma interferência cruzada entre threads de leitura e gravação e nenhuma sincronização é necessária.

Construtores

Nome Description
NetworkStream(Socket, Boolean)

Inicializa uma nova instância da NetworkStream classe para a especificada Socket com a propriedade especificada Socket .

NetworkStream(Socket, FileAccess, Boolean)

Cria uma nova instância da NetworkStream classe para o especificado Socket com os direitos de acesso especificados e a propriedade especificada Socket .

NetworkStream(Socket, FileAccess)

Cria uma nova instância da NetworkStream classe para o especificado Socket com os direitos de acesso especificados.

NetworkStream(Socket)

Cria uma nova instância da NetworkStream classe para o especificado Socket.

Propriedades

Nome Description
CanRead

Obtém um valor que indica se o suporte à NetworkStream leitura.

CanSeek

Obtém um valor que indica se o fluxo dá suporte à busca. No momento, não há suporte para essa propriedade. Essa propriedade sempre retorna false.

CanTimeout

Indica se as propriedades de tempo limite são utilizáveis para NetworkStream.

CanWrite

Obtém um valor que indica se o suporte à NetworkStream gravação.

DataAvailable

Obtém um valor que indica se os NetworkStream dados estão disponíveis na leitura imediata.

Length

Obtém o comprimento dos dados disponíveis no fluxo. No momento, essa propriedade não tem suporte e sempre lança um NotSupportedException.

Position

Obtém ou define a posição atual no fluxo. No momento, essa propriedade não tem suporte e sempre lança um NotSupportedException.

Readable

Obtém ou define um valor que indica se o NetworkStream valor pode ser lido.

ReadTimeout

Obtém ou define a quantidade de tempo que uma operação de leitura bloqueia a espera de dados.

Socket

Obtém o subjacente Socket.

Writeable

Obtém um valor que indica se o NetworkStream valor é gravável.

WriteTimeout

Obtém ou define a quantidade de tempo que uma operação de gravação bloqueia a espera de dados.

Métodos

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

Inicia uma leitura assíncrona do NetworkStream.

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

Inicia uma gravação assíncrona em um fluxo.

Close()

Fecha o NetworkStream.

Close()

Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivo) associados ao fluxo atual. Em vez de chamar esse método, verifique se o fluxo foi descartado corretamente.

(Herdado de Stream)
Close(Int32)

Fecha depois de NetworkStream aguardar o tempo especificado para permitir que os dados sejam enviados.

Close(TimeSpan)

Fecha depois NetworkStream de aguardar a quantidade de tempo especificada para permitir que os dados sejam enviados.

CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, CancellationToken)

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

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

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento e tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream)

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos 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 WaitHandle objeto.

(Herdado de Stream)
Dispose()

Libera todos os recursos usados pelo Stream.

(Herdado de Stream)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo NetworkStream e, opcionalmente, libera os recursos gerenciados.

DisposeAsync()

Libera de forma assíncrona os recursos não gerenciados usados pelo Stream.

(Herdado de Stream)
EndRead(IAsyncResult)

Manipula o fim de uma leitura assíncrona.

EndWrite(IAsyncResult)

Manipula o final de uma gravação assíncrona.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Libera todos os recursos usados pelo NetworkStream.

Flush()

Libera dados do fluxo. Esse método é reservado para uso futuro.

FlushAsync()

Limpa de forma assíncrona todos os buffers para esse fluxo e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente.

(Herdado de Stream)
FlushAsync(CancellationToken)

Libera dados do fluxo como uma operação assíncrona.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém a Type instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial da atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Fornece suporte para um Contract.

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

Lê os dados e os NetworkStream armazena em uma matriz de bytes.

Read(Span<Byte>)

Lê os dados e os NetworkStream armazena em um intervalo de bytes na memória.

Read(Span<Byte>)

Quando substituído em uma classe derivada, lê uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

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

Lê os dados e os NetworkStream armazena em um intervalo especificado de uma matriz de bytes como uma operação assíncrona.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lê de forma assíncrona uma sequência 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)
ReadAsync(Byte[], Int32, Int32)

Lê de forma assíncrona uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

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

Lê os dados e os NetworkStream armazena em um intervalo de memória de bytes como uma operação assíncrona.

ReadAsync(Memory<Byte>, CancellationToken)

Lê de forma assíncrona uma sequência 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)
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 e NetworkStream avança a posição dentro do fluxo por um byte ou retorna -1 se estiver no final do fluxo.

ReadByte()

Lê um byte do fluxo e avança a posição dentro do fluxo por um byte ou retorna -1 se estiver no final do fluxo.

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

count o número de bytes do fluxo atual e avança a posição dentro do fluxo.

(Herdado de Stream)
ReadExactly(Span<Byte>)

Lê bytes do fluxo atual e avança a posição dentro do fluxo até que ela buffer seja preenchida.

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

count de forma assíncrona o número de bytes do fluxo atual, avança a posição dentro do fluxo e monitora solicitações de cancelamento.

(Herdado de Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Lê bytes de forma assíncrona do fluxo atual, avança a posição dentro do fluxo até que ele buffer seja preenchido e monitore as solicitações de cancelamento.

(Herdado de Stream)
Seek(Int64, SeekOrigin)

Define a posição atual do fluxo como o valor fornecido. No momento, esse método não tem suporte e sempre lança um NotSupportedException.

SetLength(Int64)

Define o comprimento do fluxo. Esse método sempre lança um NotSupportedException.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Grava dados em NetworkStream um intervalo especificado de uma matriz de bytes.

Write(ReadOnlySpan<Byte>)

Grava dados em NetworkStream um intervalo de bytes somente leitura.

Write(ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, 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 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Grava dados no NetworkStream intervalo especificado de uma matriz de bytes como uma operação assíncrona.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento.

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

Grava de forma assíncrona 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 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Grava dados em NetworkStream um intervalo de memória de bytes de memória somente leitura como uma operação assíncrona.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento.

(Herdado de Stream)
WriteByte(Byte)

Grava um byte na posição atual e NetworkStream avança a posição dentro do fluxo por um byte.

WriteByte(Byte)

Grava um byte na posição atual no fluxo e avança a posição dentro do fluxo por um byte.

(Herdado de Stream)

Implantações explícitas de interface

Nome Description
IDisposable.Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera todos os recursos usados pelo NetworkStream.

Métodos de Extensão

Nome Description
ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas.

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lê de forma assíncrona os bytes e Stream os grava no especificado PipeWriter, usando um token de cancelamento.

Aplica-se a

Confira também