NetworkStream Classe

Definizione

Offre il flusso sottostante di dati per l'accesso alla rete.Provides the underlying stream of data for network access.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
Public Class NetworkStream
Inherits Stream
Ereditarietà

Esempi

Nell'esempio di codice seguente viene illustrato come creare un NetworkStream da un Streamconnesso Socket ed eseguire I/O di blocco sincrono di base.The following code example demonstrates how to create a NetworkStream from a connected StreamSocket and perform basic synchronous blocking I/O.

// 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

Commenti

La classe NetworkStream fornisce metodi per l'invio e la ricezione di dati tramite Stream socket in modalità di blocco.The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. Per ulteriori informazioni sul blocco e non sul blocco Sockets, vedere utilizzo di un socket client asincrono.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. È possibile utilizzare la classe NetworkStream per il trasferimento di dati sincrono e asincrono.You can use the NetworkStream class for both synchronous and asynchronous data transfer. Per ulteriori informazioni sulla comunicazione sincrona e asincrona, vedere Sockets.For more information about synchronous and asynchronous communication, see Sockets.

Per creare una NetworkStream, è necessario fornire una Socketconnessa.To create a NetworkStream, you must provide a connected Socket. È inoltre possibile specificare l'autorizzazione FileAccess NetworkStream rispetto al Socketfornito.You can also specify what FileAccess permission the NetworkStream has over the provided Socket. Per impostazione predefinita, la chiusura del NetworkStream non chiude il Socketfornito.By default, closing the NetworkStream does not close the provided Socket. Se si desidera che il NetworkStream disponga delle autorizzazioni per chiudere la Socketspecificata, è necessario specificare true per il valore del parametro ownsSocket.If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

Usare i metodi Write e Read per l'I/O di blocco sincrono a thread singolo.Use the Write and Read methods for simple single thread synchronous blocking I/O. Se si desidera elaborare l'I/O utilizzando thread distinti, è consigliabile utilizzare i metodi BeginWrite e EndWrite oppure i metodi di BeginRead e EndRead per la comunicazione.If you want to process your I/O using separate threads, consider using the BeginWrite and EndWrite methods, or the BeginRead and EndRead methods for communication.

Il NetworkStream non supporta l'accesso casuale al flusso di dati di rete.The NetworkStream does not support random access to the network data stream. Il valore della proprietà CanSeek, che indica se il flusso supporta la ricerca, è sempre false; la lettura della proprietà Position, la lettura della proprietà Length o la chiamata al metodo Seek genereranno un'NotSupportedException.The value of the CanSeek property, which indicates whether the stream supports seeking, is always false; reading the Position property, reading the Length property, or calling the Seek method will throw a NotSupportedException.

Le operazioni di lettura e scrittura possono essere eseguite contemporaneamente in un'istanza della classe NetworkStream senza la necessità di sincronizzazione.Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. Fino a quando è presente un thread univoco per le operazioni di scrittura e un thread univoco per le operazioni di lettura, non vi sarà alcuna interferenza tra i thread di lettura e scrittura e non è necessaria alcuna sincronizzazione.As long as there is one unique thread for the write operations and one unique thread for the read operations, there will be no cross-interference between read and write threads and no synchronization is required.

Costruttori

NetworkStream(Socket)

Crea una nuova istanza della classe NetworkStream per l'oggetto Socket specificato.Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

Inizializza una nuova istanza della classe NetworkStream per il Socket specificato con la proprietà Socket specificata.Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

Crea una nuova istanza della classe NetworkStream per l'oggetto Socket specificato con i diritti di accesso specificati.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

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.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

Proprietà

CanRead

Ottiene un valore che indica se la classe NetworkStream supporta la lettura.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

Ottiene un valore che indica se il flusso supporta la ricerca.Gets a value that indicates whether the stream supports seeking. Questa proprietà non è attualmente supportata. La proprietà restituisce sempre false.This property is not currently supported.This property always returns false.

CanTimeout

Indica se le proprietà di timeout sono utilizzabili per NetworkStream.Indicates whether timeout properties are usable for NetworkStream.

CanWrite

Ottiene un valore che indica se la classe NetworkStream supporta la scrittura.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

Ottiene un valore che indica se i dati sono disponibili per la lettura nella classe NetworkStream.Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

Ottiene la lunghezza dei dati disponibili nel flusso.Gets the length of the data available on the stream. Questa proprietà non è attualmente supportata e genera sempre un'eccezione NotSupportedException.This property is not currently supported and always throws a NotSupportedException.

Position

Ottiene o imposta la posizione corrente nel flusso.Gets or sets the current position in the stream. Questa proprietà non è attualmente supportata e genera sempre un'eccezione NotSupportedException.This property is not currently supported and always throws a NotSupportedException.

Readable

Ottiene o imposta un valore che indica se è possibile leggere la classe NetworkStream.Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

Ottiene o imposta l'intervallo di tempo per il quale un'operazione di lettura si blocca in attesa dei dati.Gets or sets the amount of time that a read operation blocks waiting for data.

Socket

Ottiene l'elemento Socket sottostante.Gets the underlying Socket.

Writeable

Ottiene un valore che indica se è possibile scrivere nella classe NetworkStream.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

Ottiene o imposta l'intervallo di tempo per il quale un'operazione di scrittura si blocca in attesa dei dati.Gets or sets the amount of time that a write operation blocks waiting for data.

Metodi

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

Avvia una lettura asincrona dalla classe NetworkStream.Begins an asynchronous read from the NetworkStream.

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

Avvia una scrittura asincrona in un flusso.Begins an asynchronous write to a stream.

Close()

Chiude l'oggetto NetworkStream.Closes the NetworkStream.

Close(Int32)

Chiude l'oggetto NetworkStream una volta trascorso l'intervallo di tempo specificato per consentire l'invio dei dati.Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(Stream)

Legge i byte dal flusso corrente e li scrive in un altro flusso.Reads the bytes from the current stream and writes them to another stream.

(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.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Ereditato da Stream)
CopyToAsync(Stream)

Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso.Asynchronously reads the bytes from the current stream and writes them to another stream.

(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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
CreateWaitHandle()

Alloca un oggetto WaitHandle.Allocates a WaitHandle object.

(Ereditato da Stream)
Dispose()

Rilascia tutte le risorse usate da Stream.Releases all resources used by the Stream.

(Ereditato da Stream)
Dispose(Boolean)

Rilascia le risorse non gestite utilizzate dall'oggetto NetworkStream e facoltativamente le risorse gestite.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Consente di liberare in modo asincrono le risorse non gestite utilizzate da Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Ereditato da Stream)
EndRead(IAsyncResult)

Gestisce la fine di una lettura asincrona.Handles the end of an asynchronous read.

EndWrite(IAsyncResult)

Gestisce la fine di una scrittura asincrona.Handles the end of an asynchronous write.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Finalize()

Rilascia tutte le risorse utilizzate da NetworkStream.Releases all resources used by the NetworkStream.

Flush()

Scarica dati da un flusso.Flushes data from the stream. Questo metodo è riservato per utilizzi futuri.This method is reserved for future use.

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.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Ereditato da Stream)
FlushAsync(CancellationToken)

Svuota i dati dal flusso come operazione asincrona.Flushes data from the stream as an asynchronous operation.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
ObjectInvariant()

Fornisce supporto per un oggetto Contract.Provides support for a Contract.

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

Legge i dati da NetworkStream e li archivia in una matrice di byte.Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

Legge i dati da NetworkStream e li archivia in un intervallo di byte in memoria.Reads data from the NetworkStream and stores it to a span of bytes in memory.

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.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(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.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

Legge i dati da NetworkStream e li archivia in un intervallo di memoria di byte come operazione asincrona.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

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.Reads a byte from the NetworkStream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

Seek(Int64, SeekOrigin)

Imposta la posizione corrente del flusso sul valore dato.Sets the current position of the stream to the given value. Questo metodo non è attualmente supportato e genera sempre un'eccezione NotSupportedException.This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

Imposta la lunghezza del flusso.Sets the length of the stream. Mediante questo metodo viene sempre generata un'eccezione NotSupportedException.This method always throws a NotSupportedException.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

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

Scrive i dati in NetworkStream da un intervallo specificato di una matrice di byte.Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

Scrive i dati in NetworkStream da un intervallo di byte di sola lettura.Writes data to the NetworkStream from a read-only byte span.

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.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Scrive i dati in NetworkStream dall'intervallo specificato di una matrice di byte come operazione asincrona.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Scrive i dati in NetworkStream da un intervallo di memoria di byte di sola lettura come operazione asincrona.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

WriteByte(Byte)

Scrive un byte nella posizione corrente di NetworkStream e sposta in avanti di un byte la posizione nel flusso.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Rilascia tutte le risorse utilizzate da NetworkStream.Releases all resources used by the NetworkStream.

Si applica a

Vedi anche