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.
Fornisce il flusso di dati sottostante 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 di dati tramite Stream socket in modalità di blocco. Per altre informazioni sul blocco rispetto a s non bloccante Socket, vedere Uso di un socket client asincrono. È possibile usare la classe sia per il NetworkStream trasferimento sincrono che per il trasferimento asincrono dei dati. Per altre informazioni sulla comunicazione sincrona e asincrona, vedere Socket.
Per creare un NetworkStreamoggetto , è necessario fornire un oggetto connesso Socket. È anche possibile specificare l'autorizzazione FileAccess dell'oggetto NetworkStream sull'oggetto fornito Socket. Per impostazione predefinita, la chiusura NetworkStream di non chiude l'oggetto fornito Socket. Se si vuole disporre dell'autorizzazione NetworkStream per chiudere l'oggetto specificato Socket, è necessario specificare true per il valore del ownsSocket parametro .
Usare i Write metodi e Read per semplici operazioni di I/O con 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.
NetworkStream non supporta l'accesso casuale al flusso di dati di rete. Il valore della CanSeek proprietà , che indica se il flusso supporta la ricerca, è sempre false; la lettura della Position proprietà, la lettura della Length proprietà o la chiamata al Seek metodo genererà un'eccezione NotSupportedException.
Le operazioni di lettura e scrittura possono essere eseguite simultaneamente in un'istanza della NetworkStream classe senza la necessità di sincronizzazione. Finché è presente un thread univoco per le operazioni di scrittura e un thread univoco per le operazioni di lettura, non ci saranno interferenze incrociate tra thread di lettura e scrittura e non è necessaria alcuna sincronizzazione.
Costruttori
| Nome | Descrizione |
|---|---|
| NetworkStream(Socket, Boolean) |
Inizializza una nuova istanza della NetworkStream classe per l'oggetto specificato Socket con la proprietà specificata Socket . |
| NetworkStream(Socket, FileAccess, Boolean) |
Crea una nuova istanza della NetworkStream classe per l'oggetto specificato Socket con i diritti di accesso specificati e la proprietà specificata Socket . |
| NetworkStream(Socket, FileAccess) |
Crea una nuova istanza della NetworkStream classe per l'oggetto specificato Socket con i diritti di accesso specificati. |
| NetworkStream(Socket) |
Crea una nuova istanza della NetworkStream classe per l'oggetto specificato Socket. |
Proprietà
| Nome | Descrizione |
|---|---|
| CanRead |
Ottiene un valore che indica se supporta la NetworkStream lettura. |
| CanSeek |
Ottiene un valore che indica se il flusso supporta la ricerca. Questa proprietà non è attualmente supportata. Questa proprietà restituisce |
| CanTimeout |
Indica se le proprietà di timeout sono utilizzabili per NetworkStream. |
| CanWrite |
Ottiene un valore che indica se supporta la NetworkStream 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 l'oggetto NetworkStream può essere letto. |
| ReadTimeout |
Ottiene o imposta la quantità di tempo in cui un'operazione di lettura blocca l'attesa dei dati. |
| Socket |
Ottiene l'oggetto sottostante Socket. |
| Writeable |
Ottiene un valore che indica se l'oggetto NetworkStream è scrivibile. |
| WriteTimeout |
Ottiene o imposta la quantità di tempo in cui un'operazione di scrittura blocca l'attesa dei dati. |
Metodi
| Nome | Descrizione |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Avvia una lettura asincrona da NetworkStream. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Avvia una scrittura asincrona in un flusso. |
| Close() |
Chiude l'oggetto NetworkStream. |
| Close() |
Chiude il flusso corrente e rilascia tutte le risorse (ad esempio socket e handle di file) associate al flusso corrente. Invece di chiamare questo metodo, assicurarsi che il flusso sia eliminato correttamente. (Ereditato da Stream) |
| Close(Int32) |
Chiude l'oggetto dopo l'attesa NetworkStream del tempo specificato per consentire l'invio dei dati. |
| Close(TimeSpan) |
Chiude l'oggetto dopo l'attesa NetworkStream della quantità di tempo specificata per consentire l'invio dei dati. |
| CopyTo(Stream, Int32) |
Legge i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione del buffer specificata. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
| CopyTo(Stream) |
Legge i byte dal flusso corrente e li scrive in un altro flusso. Entrambe le posizioni dei flussi sono avanzate in base al 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 in base al 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 del buffer e un token di annullamento specificati. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
| CopyToAsync(Stream, Int32) |
Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione del buffer specificata. Entrambe le posizioni dei flussi sono avanzate in base al 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 in base al numero di byte copiati. (Ereditato da Stream) |
| CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
| CreateWaitHandle() |
Obsoleti.
Obsoleti.
Obsoleti.
Alloca un WaitHandle oggetto . (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, rilascia le risorse gestite. |
| DisposeAsync() |
Rilascia in modo asincrono le risorse non gestite usate da Stream. (Ereditato da Stream) |
| EndRead(IAsyncResult) |
Gestisce la fine di una lettura asincrona. |
| EndWrite(IAsyncResult) |
Gestisce la fine di una scrittura asincrona. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Finalize() |
Rilascia tutte le risorse usate da NetworkStream. |
| Flush() |
Scarica i dati dal flusso. Questo metodo è riservato per un uso futuro. |
| FlushAsync() |
Cancella in modo asincrono tutti i buffer per questo flusso e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da Stream) |
| FlushAsync(CancellationToken) |
Scarica i dati dal flusso come operazione asincrona. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetLifetimeService() |
Obsoleti.
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| GetType() |
Ottiene il 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 del Objectcorrente. (Ereditato da Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto corrente MarshalByRefObject . (Ereditato da MarshalByRefObject) |
| ObjectInvariant() |
Obsoleti.
Fornisce il supporto per un oggetto Contract. (Ereditato da Stream) |
| Read(Byte[], Int32, Int32) |
Legge i dati dall'oggetto NetworkStream e li archivia in una matrice di byte. |
| Read(Span<Byte>) |
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo di byte in memoria. |
| Read(Span<Byte>) |
Quando sottoposto a override in una classe derivata, legge una sequenza di byte dal flusso corrente e sposta in avanti la posizione all'interno del flusso in base al numero di byte letti. (Ereditato da Stream) |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Legge i dati dall'oggetto 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, sposta in avanti la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento. (Ereditato da Stream) |
| ReadAsync(Byte[], Int32, Int32) |
Legge in modo asincrono una sequenza di byte dal flusso corrente e sposta in avanti la posizione all'interno del flusso in base al numero di byte letti. (Ereditato da Stream) |
| ReadAsync(Memory<Byte>, CancellationToken) |
Legge i dati dall'oggetto 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, sposta in avanti la posizione all'interno del flusso 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 sposta in avanti 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, sposta in avanti 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 dall'oggetto NetworkStream e sposta in avanti la posizione all'interno del flusso di un byte oppure restituisce -1 se alla fine del flusso. |
| ReadByte() |
Legge un byte dal flusso e sposta in avanti la posizione all'interno del flusso di un byte oppure restituisce -1 se alla fine del flusso. (Ereditato da Stream) |
| ReadExactly(Byte[], Int32, Int32) |
|
| ReadExactly(Span<Byte>) |
Legge i byte dal flusso corrente e sposta in avanti la posizione all'interno del flusso fino a quando l'oggetto |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Legge |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Legge in modo asincrono i byte dal flusso corrente, sposta la posizione all'interno del flusso fino a quando non |
| Seek(Int64, SeekOrigin) |
Imposta la posizione corrente del flusso sul valore specificato. Questo metodo non è attualmente supportato e genera sempre un'eccezione NotSupportedException. |
| SetLength(Int64) |
Imposta la lunghezza del flusso. Questo metodo genera sempre un'eccezione NotSupportedException. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| Write(Byte[], Int32, Int32) |
Scrive i dati nell'oggetto NetworkStream da un intervallo specificato di una matrice di byte. |
| Write(ReadOnlySpan<Byte>) |
Scrive i dati nell'oggetto NetworkStream da un intervallo di byte di sola lettura. |
| Write(ReadOnlySpan<Byte>) |
Quando sottoposto a override in una classe derivata, scrive una sequenza di byte nel flusso corrente e sposta in avanti la posizione corrente all'interno del flusso in base al numero di byte scritti. (Ereditato da Stream) |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Scrive i dati nell'oggetto 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, sposta in avanti la posizione corrente all'interno del flusso in base al numero di byte scritti e monitora le richieste di annullamento. (Ereditato da Stream) |
| WriteAsync(Byte[], Int32, Int32) |
Scrive in modo asincrono una sequenza di byte nel flusso corrente e sposta in avanti la posizione corrente all'interno del flusso in base al numero di byte scritti. (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, sposta in avanti la posizione corrente all'interno del flusso in base al numero di byte scritti e monitora le richieste di annullamento. (Ereditato da Stream) |
| WriteByte(Byte) |
Scrive un byte nella posizione corrente in NetworkStream e sposta in avanti la posizione all'interno del flusso di un byte. |
| WriteByte(Byte) |
Scrive un byte nella posizione corrente nel flusso e sposta in avanti la posizione all'interno del flusso di un byte. (Ereditato da Stream) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| 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
| Nome | Descrizione |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono. |
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
Legge in modo asincrono i byte da Stream e li scrive nell'oggetto specificato PipeWriterusando un token di annullamento. |