NetworkStream Classe

Definizione

Offre il flusso sottostante di dati per l'accesso alla rete.

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
Ereditarietà
NetworkStream
Ereditarietà
Implementazioni

Commenti

La NetworkStream classe fornisce metodi per l'invio e la ricezione dei dati tramite Stream socket in modalità di blocco. Per altre informazioni sul blocco rispetto a s nonblocking Socket, vedere Uso di un socket client asincrono. È possibile usare la classe per il NetworkStream trasferimento di dati sincroni e asincroni. Per altre informazioni sulla comunicazione sincrona e asincrona, vedere Socket.

Per creare un NetworkStreamoggetto , è necessario specificare un oggetto connesso Socket. È anche possibile specificare l'autorizzazione FileAccess fornita Socketdall'oggetto NetworkStream . Per impostazione predefinita, la chiusura dell'oggetto non chiude l'oggetto NetworkStream specificato Socket. Se si vuole avere l'autorizzazione per chiudere l'oggetto NetworkStream specificato Socket, è necessario specificare true per il valore del ownsSocket parametro.

Usare i Write metodi e Read per un semplice blocco sincrono a thread singolo. Se si vuole elaborare l'I/O in modo asincrono, è consigliabile usare i Task metodi ReadAsync basati su o ValueTaske WriteAsync.

Non NetworkStream supporta l'accesso casuale al flusso di dati di rete. Il valore della proprietà, che indica se il flusso supporta la ricerca, è sempre false; la lettura della proprietà, la lettura Position della CanSeek proprietà o la Length chiamata al Seek metodo genererà un NotSupportedExceptionoggetto .

Le operazioni di lettura e scrittura possono essere eseguite simultaneamente in un'istanza della NetworkStream classe senza la necessità di sincronizzazione. Purché sia presente un thread univoco per le operazioni di scrittura e un thread univoco per le operazioni di lettura, non sarà necessaria alcuna interferenza incrociata tra thread di lettura e scrittura e non è necessaria alcuna sincronizzazione.

Costruttori

NetworkStream(Socket)

Crea una nuova istanza della classe NetworkStream per l'oggetto Socket specificato.

NetworkStream(Socket, Boolean)

Inizializza una nuova istanza della classe NetworkStream per il Socket specificato con la proprietà Socket specificata.

NetworkStream(Socket, FileAccess)

Crea una nuova istanza della classe NetworkStream per l'oggetto Socket specificato con i diritti di accesso specificati.

NetworkStream(Socket, FileAccess, Boolean)

Crea una nuova istanza della classe NetworkStream per l'oggetto Socket specificato con i diritti di accesso e la appartenenza alla classe Socket specificati.

Proprietà

CanRead

Ottiene un valore che indica se la classe NetworkStream supporta la lettura.

CanSeek

Ottiene un valore che indica se il flusso supporta la ricerca. La proprietà non è attualmente supportata. Questa proprietà restituisce sempre false.

CanTimeout

Indica se le proprietà di timeout sono utilizzabili per NetworkStream.

CanTimeout

Ottiene un valore che determina se il flusso corrente prevede il timeout.

(Ereditato da Stream)
CanWrite

Ottiene un valore che indica se la classe NetworkStream supporta la scrittura.

DataAvailable

Ottiene un valore che indica se i dati sono disponibili nell'oggetto NetworkStream da leggere immediatamente.

Length

Ottiene la lunghezza dei dati disponibili nel flusso. Questa proprietà non è attualmente supportata e genera sempre un'eccezione NotSupportedException.

Position

Ottiene o imposta la posizione corrente nel flusso. Questa proprietà non è attualmente supportata e genera sempre un'eccezione NotSupportedException.

Readable

Ottiene o imposta un valore che indica se è possibile leggere la classe NetworkStream.

ReadTimeout

Ottiene o imposta l'intervallo di tempo per il quale un'operazione di lettura si blocca in attesa dei dati.

ReadTimeout

Ottiene o imposta un valore, in millisecondi, che determina per quanto tempo il flusso tenterà la lettura prima del timeout.

(Ereditato da Stream)
Socket

Ottiene l'elemento Socket sottostante.

Writeable

Ottiene un valore che indica se è possibile scrivere nella classe NetworkStream.

WriteTimeout

Ottiene o imposta l'intervallo di tempo per il quale un'operazione di scrittura si blocca in attesa dei dati.

WriteTimeout

Ottiene o imposta un valore, in millisecondi, che determina per quanto tempo il flusso tenterà la scrittura prima del timeout.

(Ereditato da Stream)

Metodi

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

Avvia una lettura asincrona dalla classe NetworkStream.

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

Inizia un'operazione di lettura asincrona. Si consiglia di usare ReadAsync(Byte[], Int32, Int32).

(Ereditato da Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Avvia una scrittura asincrona in un flusso.

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

Inizia un'operazione di scrittura asincrona. Si consiglia di usare WriteAsync(Byte[], Int32, Int32).

(Ereditato da Stream)
Close()

Chiude l'oggetto NetworkStream.

Close()

Chiude il flusso corrente e libera le risorse, come socket e handle di file, ad esso associate. Anziché chiamare questo metodo, assicurarsi che il flusso sia eliminato correttamente.

(Ereditato da Stream)
Close(Int32)

Chiude l'oggetto NetworkStream una volta trascorso l'intervallo di tempo specificato per consentire l'invio dei dati.

Close(TimeSpan)

Chiude l'oggetto dopo l'attesa del tempo specificato per consentire l'invio NetworkStream dei dati.

CopyTo(Stream)

Legge i byte dal flusso corrente e li scrive in un altro flusso. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CopyTo(Stream, Int32)

Legge tutti i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione di buffer specificata. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CopyToAsync(Stream)

Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CopyToAsync(Stream, CancellationToken)

Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso, usando un token di annullamento specificato. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CopyToAsync(Stream, Int32)

Legge in modo asincrono tutti i byte dal flusso corrente e li scrive in un altro flusso, utilizzando una dimensione di buffer specificata. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione di buffer specificata e un token di annullamento. Entrambe le posizioni dei flussi sono avanzate dal numero di byte copiati.

(Ereditato da Stream)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
CreateWaitHandle()
Obsoleti.
Obsoleti.
Obsoleti.

Alloca un oggetto WaitHandle.

(Ereditato da Stream)
Dispose()

Rilascia tutte le risorse usate da Stream.

(Ereditato da Stream)
Dispose(Boolean)

Rilascia le risorse non gestite usate da NetworkStream e, facoltativamente, le risorse gestite.

DisposeAsync()

Consente di liberare in modo asincrono le risorse non gestite utilizzate da Stream.

(Ereditato da Stream)
EndRead(IAsyncResult)

Gestisce la fine di una lettura asincrona.

EndRead(IAsyncResult)

Attende il completamento della lettura asincrona in sospeso. Si consiglia di usare ReadAsync(Byte[], Int32, Int32).

(Ereditato da Stream)
EndWrite(IAsyncResult)

Gestisce la fine di una scrittura asincrona.

EndWrite(IAsyncResult)

Termina un'operazione di scrittura asincrona. Si consiglia di usare WriteAsync(Byte[], Int32, Int32).

(Ereditato da Stream)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Rilascia tutte le risorse usate da NetworkStream.

Flush()

Scarica dati da un flusso. Questo metodo è riservato per utilizzi futuri.

FlushAsync()

Cancella in modo asincrono i dati di tutti i buffer del flusso e determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da Stream)
FlushAsync(CancellationToken)

Svuota i dati dal flusso come operazione asincrona.

FlushAsync(CancellationToken)

Cancella in modo asincrono i dati di tutti i buffer del flusso, determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante e monitora le richieste di annullamento.

(Ereditato da Stream)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ObjectInvariant()
Obsoleti.

Fornisce supporto per un oggetto Contract.

(Ereditato da Stream)
Read(Byte[], Int32, Int32)

Legge i dati da NetworkStream e li archivia in una matrice di byte.

Read(Span<Byte>)

Legge i dati da NetworkStream e li archivia in un intervallo di byte in memoria.

Read(Span<Byte>)

Quando ne viene eseguito l'override in una classe derivata, legge una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti.

(Ereditato da Stream)
ReadAsync(Byte[], Int32, Int32)

Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva nel flusso in base al numero di byte letti.

(Ereditato da Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Legge i dati da NetworkStream e li archivia in un intervallo specificato di una matrice di byte come operazione asincrona.

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

Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento.

(Ereditato da Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Legge i dati da NetworkStream e li archivia in un intervallo di memoria di byte come operazione asincrona.

ReadAsync(Memory<Byte>, CancellationToken)

Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento.

(Ereditato da Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Legge almeno un numero minimo di byte dal flusso corrente e avanza la posizione all'interno del flusso in base al numero di byte letti.

(Ereditato da Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Legge in modo asincrono almeno un numero minimo di byte dal flusso corrente, avanza la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

(Ereditato da Stream)
ReadByte()

Legge un byte da NetworkStream e sposta in avanti la posizione corrente all'interno del flusso di un byte o restituisce -1 se si trova alla fine del flusso.

ReadByte()

Legge un byte dal flusso e sposta in avanti la posizione corrente all'interno del flusso di un byte o restituisce -1 se si trova alla fine del flusso.

(Ereditato da Stream)
ReadExactly(Byte[], Int32, Int32)

count Legge il numero di byte dal flusso corrente e avanza la posizione all'interno del flusso.

(Ereditato da Stream)
ReadExactly(Span<Byte>)

Legge i byte dal flusso corrente e avanza la posizione all'interno del flusso finché non buffer viene riempita.

(Ereditato da Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Legge in modo count asincrono il numero di byte dal flusso corrente, sposta la posizione all'interno del flusso e monitora le richieste di annullamento.

(Ereditato da Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Legge in modo asincrono i byte dal flusso corrente, avanza la posizione all'interno del flusso finché non buffer viene riempita e monitora le richieste di annullamento.

(Ereditato da Stream)
Seek(Int64, SeekOrigin)

Imposta la posizione corrente del flusso sul valore dato. Questo metodo non è attualmente supportato e genera sempre un'eccezione NotSupportedException.

SetLength(Int64)

Imposta la lunghezza del flusso. Mediante questo metodo viene sempre generata un'eccezione NotSupportedException.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Write(Byte[], Int32, Int32)

Scrive i dati in NetworkStream da un intervallo specificato di una matrice di byte.

Write(ReadOnlySpan<Byte>)

Scrive i dati in NetworkStream un intervallo di byte di sola lettura.

Write(ReadOnlySpan<Byte>)

Quando ne viene eseguito l'override in una classe derivata, scrive una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti.

(Ereditato da Stream)
WriteAsync(Byte[], Int32, Int32)

Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva nel flusso in base al numero di byte scritti.

(Ereditato da Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Scrive i dati in NetworkStream dall'intervallo specificato di una matrice di byte come operazione asincrona.

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

Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti e monitora le richieste di annullamento.

(Ereditato da Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Scrive i dati in NetworkStream da un intervallo di memoria di byte di sola lettura come operazione asincrona.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti e monitora le richieste di annullamento.

(Ereditato da Stream)
WriteByte(Byte)

Scrive un byte nella posizione corrente di NetworkStream e sposta in avanti di un byte la posizione nel flusso.

WriteByte(Byte)

Scrive un byte nella posizione corrente del flusso e sposta in avanti di un byte la posizione del flusso.

(Ereditato da Stream)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Rilascia tutte le risorse usate da NetworkStream.

Metodi di estensione

CopyToAsync(Stream, PipeWriter, CancellationToken)

Legge in modo asincrono i byte da Stream e li scrive nel PipeWriter specificato usando un token di annullamento.

ConfigureAwait(IAsyncDisposable, Boolean)

Consente di configurare la modalità di esecuzione delle espressioni await per le attività restituite da un elemento disposable asincrono.

Si applica a

Vedi anche