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
    interface IDisposable
type NetworkStream = class
    inherit Stream
Public Class NetworkStream
Inherits Stream
Herança
NetworkStream
Herança
Implementações

Observações

A NetworkStream classe fornece métodos para enviar e receber dados através de Stream soquetes em modo de bloqueio. Para mais informações sobre bloqueantes versus não bloqueantes Socket, consulte Utilização de um Soquete Cliente Assíncrono. Pode usar a NetworkStream classe tanto para transferência de dados síncrona como assíncrona. Para mais informações sobre comunicação síncrona e assíncrona, veja Soquetes.

Para criar um NetworkStream, deve fornecer um .Socket Também pode especificar que FileAccess permissão tem NetworkStream sobre o .Socket Por defeito, fechar o NetworkStream não fecha o fornecido Socket. Se quiser que o NetworkStream tenha permissão para fechar o fornecido Socket, deve especificar true para o valor do ownsSocket parâmetro.

Use os Write métodos e Read para uma simples E/S de bloqueio síncrono single thread. Se quiser processar a sua E/S de forma assíncrona, considere usar os Task métodos ReadAsync baseados em ou ValueTaske WriteAsync.

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

Operações de leitura e escrita podem ser realizadas simultaneamente numa instância da NetworkStream classe sem necessidade de sincronização. Desde que exista um thread único para as operações de escrita e um único para as operações de leitura, não haverá interferência cruzada entre threads de leitura e escrita e não será necessária sincronização.

Construtores

Name 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 a especificada Socket com os direitos de acesso especificados e a propriedade especificada Socket .

NetworkStream(Socket, FileAccess)

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

NetworkStream(Socket)

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

Propriedades

Name Description
CanRead

Recebe um valor que indica se suporta NetworkStream a leitura.

CanSeek

Obtém um valor que indica se o fluxo suporta a procura. Esta propriedade não é atualmente suportada. Esta propriedade devolve falsesempre .

CanTimeout

Indica se propriedades de timeout são utilizáveis para NetworkStream.

CanWrite

Obtém um valor que indica se suporta NetworkStream a escrita.

DataAvailable

Obtém um valor que indica se os dados estão disponíveis no NetworkStream para serem lidos imediatamente.

Length

Obtém o comprimento dos dados disponíveis no fluxo. Esta propriedade não é atualmente suportada e lança sempre um NotSupportedException.

Position

Obtém ou define a posição atual no fluxo. Esta propriedade não é atualmente suportada e lança sempre um NotSupportedException.

Readable

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

ReadTimeout

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

Socket

Obtém o subjacente Socket.

Writeable

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

WriteTimeout

Obtém ou define o tempo que uma operação de escrita bloqueia à espera de dados.

Métodos

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

Inicia uma leitura assíncrona a partir do NetworkStream.

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

Inicia uma escrita assíncrona num fluxo.

Close()

Fecha o NetworkStream.

Close()

Fecha o fluxo atual e liberta quaisquer recursos (como sockets e handles de ficheiros) associados ao fluxo atual. Em vez de chamar este método, certifique-se de que o fluxo é devidamente descartado.

(Herdado de Stream)
Close(Int32)

Fecha o NetworkStream tempo após esperar o tempo especificado para permitir o envio dos dados.

CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyTo(Stream)

Lê os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os 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 escreve-os noutro fluxo, usando um token de cancelamento especificado. As posições de ambos os 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 escreve-os noutro fluxo, usando um tamanho de buffer especificado e um token de cancelamento. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê assíncronamente os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os 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 escreve-os noutro fluxo. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.

Aloca um WaitHandle objeto.

(Herdado de Stream)
Dispose()

Liberta todos os recursos utilizados pelo Stream.

(Herdado de Stream)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo NetworkStream e opcionalmente liberta os recursos geridos.

DisposeAsync()

De forma assíncrona, liberta os recursos não geridos usados pelos Stream.

(Herdado de Stream)
EndRead(IAsyncResult)

Trata do fim de uma leitura assíncrona.

EndWrite(IAsyncResult)

Trata do fim de uma escrita assíncrona.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Liberta todos os recursos utilizados pelo NetworkStream.

Flush()

Recolhe dados do riacho. Este método é reservado para uso futuro.

FlushAsync()

Apaga assíncronamente todos os buffers deste fluxo e faz com que quaisquer dados armazenados sejam escritos no dispositivo subjacente.

(Herdado de Stream)
FlushAsync(CancellationToken)

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

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do 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ê dados do NetworkStream e armazena-os num array de bytes.

Read(Span<Byte>)

Lê dados do NetworkStream e armazena-os num intervalo de bytes na memória.

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

Lê dados do NetworkStream e armazena-os num intervalo especificado de um array de bytes como uma operação assíncrona.

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

A leitura 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 monitoriza pedidos de cancelamento.

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

A leitura 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ê dados do NetworkStream e armazena-os num intervalo de memória de bytes como uma operação assíncrona.

ReadByte()

Lê um byte do NetworkStream e avança a posição dentro do fluxo em um byte, ou devolve -1 se estiver no final do fluxo.

ReadByte()

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

(Herdado de Stream)
Seek(Int64, SeekOrigin)

Define a posição atual do fluxo para o valor dado. Este método não é atualmente suportado e apresenta sempre um NotSupportedException.

SetLength(Int64)

Define o comprimento do riacho. Este método lança sempre um NotSupportedException.

ToString()

Devolve uma cadeia que representa o objeto atual.

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

Escreve dados em a NetworkStream partir de um intervalo especificado de um array de bytes.

Write(ReadOnlySpan<Byte>)

Escreve dados para o NetworkStream a partir de um intervalo de bytes apenas de leitura.

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

Escreve dados no NetworkStream intervalo especificado de um array de bytes como uma operação assíncrona.

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

Escreve assíncronamente uma sequência de bytes no fluxo atual, avança a posição atual dentro deste fluxo pelo número de bytes escritos e monitoriza pedidos de cancelamento.

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

Escreve assíncronamente uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes escritos.

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

Escreve dados a NetworkStream partir de um intervalo de bytes de memória de apenas leitura como uma operação assíncrona.

WriteByte(Byte)

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

WriteByte(Byte)

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

(Herdado de Stream)

Implementações de Interface Explícita

Name Description
IDisposable.Dispose()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Liberta todos os recursos utilizados pelo NetworkStream.

Métodos da Extensão

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Configura como aguarda nas tarefas devolvidas de um descartável assíncrono será realizada.

Aplica-se a

Ver também