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