NetworkStream Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
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) |
|
ReadExactly(Span<Byte>) |
Legge i byte dal flusso corrente e avanza la posizione all'interno del flusso finché non |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Legge in modo |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Legge in modo asincrono i byte dal flusso corrente, avanza la posizione all'interno del flusso finché non |
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per