NetworkStream Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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 |
| 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. |