NetworkStream Clase

Definición

Proporciona el flujo de datos subyacente para el acceso a través de la red.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
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
Herencia
NetworkStream
Herencia
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear un a NetworkStream partir de un conectado Stream Socket y realizar operaciones de e/s de bloqueo sincrónicas básicas.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

Comentarios

La NetworkStream clase proporciona métodos para enviar y recibir datos a través Stream de sockets en modo de bloqueo.The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. Para obtener más información sobre el bloqueo y el no bloqueo Socket , vea usar un socket de cliente asincrónico.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. Puede usar la NetworkStream clase para la transferencia de datos sincrónica y asincrónica.You can use the NetworkStream class for both synchronous and asynchronous data transfer. Para obtener más información sobre la comunicación sincrónica y asincrónica, consulte Sockets.For more information about synchronous and asynchronous communication, see Sockets.

Para crear un NetworkStream , debe proporcionar un conectado Socket .To create a NetworkStream, you must provide a connected Socket. También puede especificar qué FileAccess permiso NetworkStream tiene sobre el proporcionado Socket .You can also specify what FileAccess permission the NetworkStream has over the provided Socket. De forma predeterminada, al cerrar el no se NetworkStream cierra el proporcionado Socket .By default, closing the NetworkStream does not close the provided Socket. Si desea que el NetworkStream tenga permiso para cerrar el proporcionado Socket , debe especificar true para el valor del ownsSocket parámetro.If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

Use los Write Read métodos y para la e/s de bloqueo sincrónico simple de un solo subproceso.Use the Write and Read methods for simple single thread synchronous blocking I/O. Si desea procesar la e/s mediante subprocesos independientes, considere la posibilidad BeginWrite de usar los EndWrite métodos y, o los BeginRead EndRead métodos y para la comunicación.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.

No NetworkStream admite el acceso aleatorio al flujo de datos de red.The NetworkStream does not support random access to the network data stream. El valor de la CanSeek propiedad, que indica si la secuencia admite búsquedas, siempre es false ; leer la Position propiedad, leer la Length propiedad o llamar al Seek método producirá una excepción 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.

Las operaciones de lectura y escritura se pueden realizar simultáneamente en una instancia de la NetworkStream clase sin necesidad de sincronización.Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. Siempre que haya un subproceso único para las operaciones de escritura y un subproceso único para las operaciones de lectura, no habrá interferencias cruzadas entre los subprocesos de lectura y escritura, y no se requiere ninguna sincronización.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.

Constructores

NetworkStream(Socket)

Crea una nueva instancia de la clase NetworkStream para el elemento Socket especificado.Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

Inicializa una nueva instancia de la clase NetworkStream para el elemento Socket especificado con la propiedad Socket especificada.Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

Crea una nueva instancia de la clase NetworkStream para el elemento Socket especificado con los derechos de acceso indicados.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

NetworkStream(Socket, FileAccess, Boolean)

Crea una nueva instancia de la clase NetworkStream para el elemento Socket especificado con los derechos de acceso y la propiedad del elemento Socket indicado.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

Propiedades

CanRead

Obtiene un valor que indica si NetworkStream admite la lectura.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

Obtiene un valor que indica si la secuencia admite búsquedas.Gets a value that indicates whether the stream supports seeking. Actualmente, esta propiedad no es compatible.This property is not currently supported. Esta propiedad devuelve siempre false.This property always returns false.

CanTimeout

Indica si las propiedades de tiempo de espera pueden utilizarse para NetworkStream.Indicates whether timeout properties are usable for NetworkStream.

CanTimeout

Obtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual.Gets a value that determines whether the current stream can time out.

(Heredado de Stream)
CanWrite

Obtiene un valor que indica si NetworkStream admite la escritura.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

Obtiene un valor que indica si hay datos disponibles en NetworkStream para su lectura.Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

Obtiene la longitud de los datos disponibles en la secuencia.Gets the length of the data available on the stream. Esta propiedad no se admite actualmente y siempre produce una excepción NotSupportedException.This property is not currently supported and always throws a NotSupportedException.

Position

Obtiene o establece la posición actual en la secuencia.Gets or sets the current position in the stream. Esta propiedad no se admite actualmente y siempre produce una excepción NotSupportedException.This property is not currently supported and always throws a NotSupportedException.

Readable

Obtiene o establece un valor que indica si NetworkStream admite la lectura.Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

Obtiene o establece la cantidad de tiempo que una operación de lectura se bloquea en espera de los datos.Gets or sets the amount of time that a read operation blocks waiting for data.

ReadTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Heredado de Stream)
Socket

Obtiene la Socket subyacente.Gets the underlying Socket.

Writeable

Obtiene un valor que indica si NetworkStream admite la escritura.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

Obtiene o establece la cantidad de tiempo que una operación de escritura se bloquea en espera de los datos.Gets or sets the amount of time that a write operation blocks waiting for data.

WriteTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Heredado de Stream)

Métodos

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

Comienza una lectura asincrónica de NetworkStream.Begins an asynchronous read from the NetworkStream.

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

Comienza una operación de lectura asincrónica.Begins an asynchronous read operation. (Considere usar ReadAsync(Byte[], Int32, Int32) en su lugar).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Heredado de Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia una escritura asincrónica en una secuencia.Begins an asynchronous write to a stream.

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

Comienza una operación de escritura asincrónica.Begins an asynchronous write operation. (Considere usar WriteAsync(Byte[], Int32, Int32) en su lugar).(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Heredado de Stream)
Close()

Cierra el objeto NetworkStream.Closes the NetworkStream.

Close()

Cierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. En lugar de llamar a este método, asegúrese de que la secuencia se desecha correctamente.Instead of calling this method, ensure that the stream is properly disposed.

(Heredado de Stream)
Close(Int32)

Cierra NetworkStream después de esperar el tiempo especificado para permitir que se envíen los datos.Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(Stream)

Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino.Reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyTo(Stream, Int32)

Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Heredado de Stream)
CopyToAsync(Stream)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyToAsync(Stream, CancellationToken)

Lee de forma asincrónica los bytes de la secuencia actual y los escribe en otra secuencia mediante un token de cancelación especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Heredado de Stream)
CopyToAsync(Stream, Int32)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Heredado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, utilizando el tamaño de búfer y el token de cancelación especificados.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Heredado de Stream)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.

Asigna un objeto WaitHandle.Allocates a WaitHandle object.

(Heredado de Stream)
Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados que usa NetworkStream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Heredado de Stream)
EndRead(IAsyncResult)

Controla el final de una lectura asincrónica.Handles the end of an asynchronous read.

EndRead(IAsyncResult)

Espera a que se complete la lectura asincrónica que se encuentra pendiente.Waits for the pending asynchronous read to complete. (Considere usar ReadAsync(Byte[], Int32, Int32) en su lugar).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Heredado de Stream)
EndWrite(IAsyncResult)

Controla el final de una escritura asincrónica.Handles the end of an asynchronous write.

EndWrite(IAsyncResult)

Finaliza una operación de escritura asincrónica.Ends an asynchronous write operation. (Considere usar WriteAsync(Byte[], Int32, Int32) en su lugar).(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Heredado de Stream)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Libera todos los recursos que usa NetworkStream.Releases all resources used by the NetworkStream.

Flush()

Vacía los datos de la secuencia.Flushes data from the stream. Este método está reservado para un uso futuro.This method is reserved for future use.

FlushAsync()

Borra asincrónicamente todos los búferes de esta secuencia y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Heredado de Stream)
FlushAsync(CancellationToken)

Vacía los datos de la secuencia como una operación asincrónica.Flushes data from the stream as an asynchronous operation.

FlushAsync(CancellationToken)

Borra asincrónicamente todos los búferes de esta secuencia, y hace que todos los datos almacenados en búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Heredado de Stream)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Proporciona compatibilidad con una clase Contract.Provides support for a Contract.

(Heredado de Stream)
Read(Byte[], Int32, Int32)

Lee datos de NetworkStream y los almacena en una matriz de bytes.Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

Lee datos de NetworkStream y los almacena en un intervalo de bytes en memoria.Reads data from the NetworkStream and stores it to a span of bytes in memory.

Read(Span<Byte>)

Cuando se reemplaza en una clase derivada, se lee una secuencia de bytes en la secuencia actual y se hace avanzar la posición dentro de la secuencia el número de bytes leídos.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Heredado de Stream)
ReadAsync(Byte[], Int32, Int32)

Lee asincrónicamente una secuencia de bytes de la secuencia actual y avanza la posición en esta secuencia según el número de bytes leídos.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Heredado de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lee datos de NetworkStream y los almacena en un rango especificado de una matriz de bytes como una operación asincrónica.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

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

Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Heredado de Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Lee datos de NetworkStream y los almacena en un rango de memoria de bytes como una operación asincrónica.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Heredado de Stream)
ReadByte()

Lee un byte de NetworkStream y hace avanzar la posición de la secuencia en un byte, o devuelve -1 si está al final de la secuencia.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.

ReadByte()

Lee un byte de la secuencia y hace avanzar la posición de la secuencia en un byte, o devuelve -1 si está al final de la secuencia.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

(Heredado de Stream)
Seek(Int64, SeekOrigin)

Establece la posición actual de la secuencia en el valor especificado.Sets the current position of the stream to the given value. Este método no se admite actualmente y siempre produce NotSupportedException.This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

Establece la longitud del flujo.Sets the length of the stream. Este método produce siempre una excepción NotSupportedException.This method always throws a NotSupportedException.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Write(Byte[], Int32, Int32)

Escribe datos en NetworkStream desde un rango especificado de una matriz de bytes.Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

Escribe datos en NetworkStream desde un intervalo de bytes de solo lectura.Writes data to the NetworkStream from a read-only byte span.

Write(ReadOnlySpan<Byte>)

Cuando se reemplaza en una clase derivada, se escribe una secuencia de bytes en la secuencia actual y se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Heredado de Stream)
WriteAsync(Byte[], Int32, Int32)

Escribe asincrónicamente una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Heredado de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Escribe datos en NetworkStream desde el rango especificado de una matriz de bytes como una operación asincrónica.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

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

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Heredado de Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Escribe datos en NetworkStream a partir de un rango de memoria de bytes de solo lectura como una operación asincrónica.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Heredado de Stream)
WriteByte(Byte)

Escribe un byte a la posición actual en NetworkStream y avanza la posición de la secuencia en un byte.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

WriteByte(Byte)

Escribe un byte a la posición actual en la secuencia y avanza la posición de la secuencia en un byte.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

(Heredado de Stream)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Libera todos los recursos que usa NetworkStream.Releases all resources used by the NetworkStream.

IDisposable.Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)

Métodos de extensión

ConfigureAwait(IAsyncDisposable, Boolean)

Configura la forma en la que se realizan las expresiones await en las tareas devueltas desde un elemento asincrónico descartable.Configures how awaits on the tasks returned from an async disposable are performed.

Se aplica a

Consulte también