NetworkStream Classe

Definição

Fornece o fluxo de dados subjacente 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

Exemplos

O exemplo de código a seguir demonstra como criar um NetworkStream a partir de uma E/S de StreamSocket bloqueio síncrona básica e conectada.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

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 bloqueio 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 Sockets.

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 true Socketo valor do ownsSocket parâmetro.

Use os Write métodos e Read os métodos para e/S de bloqueio síncrono simples de thread único. Se você quiser processar sua E/S usando threads separados, considere usar os BeginWrite métodos e EndWrite métodos ou os BeginRead métodos de EndRead comunicação.

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 será necessária.

Construtores

NetworkStream(Socket)

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

NetworkStream(Socket, Boolean)

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

NetworkStream(Socket, FileAccess)

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

NetworkStream(Socket, FileAccess, Boolean)

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

Propriedades

CanRead

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

CanSeek

Obtém um valor que indica se o fluxo dá suporte à busca. Não há suporte para esta propriedade atualmente. Essa propriedade sempre retorna false.

CanTimeout

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

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 NetworkStream dá suporte à gravação.

DataAvailable

Obtém um valor que indica se há dados disponíveis no NetworkStream a ser lido.

Length

Obtém o tamanho dos dados disponíveis no fluxo. Atualmente, esta propriedade não tem suporte e sempre gera um NotSupportedException.

Position

Obtém ou define a posição atual no fluxo. Atualmente, esta propriedade não tem suporte e sempre gera um NotSupportedException.

Readable

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

ReadTimeout

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

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)
Socket

Obtém o Socket subjacente.

Writeable

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

WriteTimeout

Obtém ou define a quantidade de tempo que uma operação de gravação fica bloqueada aguardando dados.

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 leitura assíncrona do NetworkStream.

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

Inicia uma operação de leitura assíncrona. (Considere o uso de ReadAsync(Byte[], Int32, Int32) em seu lugar.)

(Herdado de Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

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

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

Inicia uma operação de gravação assíncrona. (Considere o uso de WriteAsync(Byte[], Int32, Int32) em seu lugar.)

(Herdado de Stream)
Close()

Fecha o NetworkStream.

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)
Close(Int32)

Fecha o NetworkStream após aguardar o tempo especificado para permitir que os dados sejam enviados.

Close(TimeSpan)
CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo.

(Herdado de Stream)
CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado.

(Herdado de Stream)
CopyToAsync(Stream)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo.

(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.

(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.

(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.

(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.

Aloca um objeto WaitHandle.

(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 final de uma leitura assíncrona.

EndRead(IAsyncResult)

Espera a leitura assíncrona pendente ser concluída. (Considere o uso de ReadAsync(Byte[], Int32, Int32) em seu lugar.)

(Herdado de Stream)
EndWrite(IAsyncResult)

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

EndWrite(IAsyncResult)

Encerra uma operação de gravação assíncrona. (Considere o uso de WriteAsync(Byte[], Int32, Int32) em seu lugar.)

(Herdado de Stream)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Libera todos os recursos usados pelo NetworkStream.

Flush()

Libera os dados do fluxo. Este método está reservado para uso futuro.

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)

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

FlushAsync(CancellationToken)

Limpa todos os buffers nesse fluxo de forma assíncrona, faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente e monitora as solicitações de cancelamento.

(Herdado de Stream)
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 ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da 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 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ê dados do NetworkStream e os armazena em uma matriz de bytes.

Read(Span<Byte>)

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

Read(Span<Byte>)

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

(Herdado de Stream)
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ê dados do NetworkStream e os 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 no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.

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

Lê dados do NetworkStream e os 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 no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.

(Herdado de Stream)
ReadByte()

Lê um byte do NetworkStream e avança a posição no fluxo em um byte ou retorna -1 caso esteja no final do fluxo.

ReadByte()

Lê um byte do fluxo e avança a posição no fluxo em um byte ou retorna -1 caso esteja no final do fluxo.

(Herdado de Stream)
Seek(Int64, SeekOrigin)

Define a posição atual do fluxo para o valor especificado. Atualmente, este método não tem suporte e sempre gera um NotSupportedException.

SetLength(Int64)

Define o comprimento do fluxo. Esse método sempre gera um NotSupportedException.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

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

Write(ReadOnlySpan<Byte>)

Grava dados no NetworkStream de um intervalo de bytes somente leitura.

Write(ReadOnlySpan<Byte>)

Quando for 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 até o número de bytes gravados.

(Herdado de Stream)
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 dados no NetworkStream do intervalo especificado de uma matriz de bytes como uma operação assíncrona.

WriteAsync(Byte[], Int32, Int32, 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 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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

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 Stream)
WriteByte(Byte)

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

WriteByte(Byte)

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

(Herdado de Stream)

Implantações explícitas de interface

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

ConfigureAwait(IAsyncDisposable, Boolean)

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

Aplica-se a

Confira também