NetworkStream Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona el flujo subyacente de datos para el acceso a la red.
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
- Herencia
- Implementaciones
Comentarios
La clase NetworkStream proporciona métodos para enviar y recibir datos a través de sockets Stream en modo de bloqueo. Para obtener más información sobre el bloqueo frente a los Socketde bloqueo, consulte Using an Asincrónica Client Socket. Puede usar la clase NetworkStream para la transferencia de datos sincrónica y asincrónica. Para obtener más información sobre la comunicación sincrónica y asincrónica, consulte Sockets.
Para crear un NetworkStream, debe proporcionar un Socketconectado. También puede especificar qué FileAccess permiso tiene el NetworkStream sobre el Socketproporcionado. De forma predeterminada, al cerrar el NetworkStream no se cierra el Socketproporcionado. Si desea que el NetworkStream tenga permiso para cerrar el Socketproporcionado, debe especificar true
para el valor del parámetro ownsSocket
.
Use los métodos Write y Read para la E/S de bloqueo sincrónica simple de un único subproceso. Si desea procesar la E/S de forma asincrónica, considere la posibilidad de usar los métodos basados en Task o ValueTaskReadAsync y WriteAsync.
El NetworkStream no admite el acceso aleatorio al flujo de datos de red. Valor de la propiedad CanSeek, que indica si la secuencia admite la búsqueda, siempre es false
; leer la propiedad Position, leer la propiedad Length o llamar al método Seek producirá un NotSupportedException.
Las operaciones de lectura y escritura se pueden realizar simultáneamente en una instancia de la clase NetworkStream sin necesidad de sincronización. 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 subprocesos de lectura y escritura y no se requiere ninguna sincronización.
Constructores
NetworkStream(Socket) |
Crea una nueva instancia de la clase NetworkStream para el Socketespecificado. |
NetworkStream(Socket, Boolean) |
Inicializa una nueva instancia de la clase NetworkStream para el Socket especificado con la propiedad Socket especificada. |
NetworkStream(Socket, FileAccess) |
Crea una nueva instancia de la clase NetworkStream para el Socket especificado con los derechos de acceso especificados. |
NetworkStream(Socket, FileAccess, Boolean) |
Crea una nueva instancia de la clase NetworkStream para el Socket especificado con los derechos de acceso especificados y la propiedad Socket especificada. |
Propiedades
CanRead |
Obtiene un valor que indica si el NetworkStream admite la lectura. |
CanSeek |
Obtiene un valor que indica si la secuencia admite la búsqueda. Esta propiedad no se admite actualmente. Esta propiedad siempre devuelve |
CanTimeout |
Indica si las propiedades de tiempo de espera se pueden usar para NetworkStream. |
CanTimeout |
Obtiene un valor que determina si la secuencia actual puede agotar el tiempo de espera. (Heredado de Stream) |
CanWrite |
Obtiene un valor que indica si el NetworkStream admite la escritura. |
DataAvailable |
Obtiene un valor que indica si los datos están disponibles en el NetworkStream que se van a leer inmediatamente. |
Length |
Obtiene la longitud de los datos disponibles en la secuencia. Esta propiedad no se admite actualmente y siempre produce una NotSupportedException. |
Position |
Obtiene o establece la posición actual en la secuencia. Esta propiedad no se admite actualmente y siempre produce una NotSupportedException. |
Readable |
Obtiene o establece un valor que indica si se puede leer el NetworkStream. |
ReadTimeout |
Obtiene o establece la cantidad de tiempo que una operación de lectura bloquea la espera de datos. |
ReadTimeout |
Obtiene o establece un valor, en milisegundos, que determina cuánto tiempo intentará leer la secuencia antes de que se agote el tiempo de espera. (Heredado de Stream) |
Socket |
Obtiene el Socketsubyacente . |
Writeable |
Obtiene un valor que indica si el NetworkStream se puede escribir. |
WriteTimeout |
Obtiene o establece la cantidad de tiempo que una operación de escritura bloquea en espera de datos. |
WriteTimeout |
Obtiene o establece un valor, en milisegundos, que determina cuánto tiempo intentará escribir la secuencia antes de que se agote el tiempo de espera. (Heredado de Stream) |
Métodos
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Comienza una lectura asincrónica de la NetworkStream. |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Inicia una operación de lectura asincrónica. (Considere la posibilidad de usar ReadAsync(Byte[], Int32, Int32) en su lugar). (Heredado de Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Comienza una escritura asincrónica en una secuencia. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Comienza una operación de escritura asincrónica. (Considere la posibilidad de usar WriteAsync(Byte[], Int32, Int32) en su lugar). (Heredado de Stream) |
Close() |
Cierra el NetworkStream. |
Close() |
Cierra la secuencia actual y libera los recursos (como sockets y identificadores de archivo) asociados a la secuencia actual. En lugar de llamar a este método, asegúrese de que la secuencia se elimina correctamente. (Heredado de Stream) |
Close(Int32) |
Cierra el NetworkStream después de esperar el tiempo especificado para permitir que se envíen los datos. |
Close(TimeSpan) |
Cierra el NetworkStream después de esperar la cantidad de tiempo especificada para permitir que se envíen los datos. |
CopyTo(Stream) |
Lee los bytes de la secuencia actual y los escribe en otra secuencia. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CopyTo(Stream, Int32) |
Lee los bytes de la secuencia actual y los escribe en otra secuencia mediante un tamaño de búfer especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CopyToAsync(Stream) |
Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CopyToAsync(Stream, CancellationToken) |
Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, mediante un token de cancelación especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CopyToAsync(Stream, Int32) |
Lee de forma asincrónica los bytes de la secuencia actual y los escribe en otra secuencia mediante un tamaño de búfer especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, mediante un tamaño de búfer y un token de cancelación especificados. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados. (Heredado de Stream) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
CreateWaitHandle() |
Obsoletos.
Obsoletos.
Obsoletos.
Asigna un objeto WaitHandle. (Heredado de Stream) |
Dispose() |
Libera todos los recursos usados por el Stream. (Heredado de Stream) |
Dispose(Boolean) |
Libera los recursos no administrados usados por el NetworkStream y, opcionalmente, libera los recursos administrados. |
DisposeAsync() |
Libera asincrónicamente los recursos no administrados usados por el Stream. (Heredado de Stream) |
EndRead(IAsyncResult) |
Controla el final de una lectura asincrónica. |
EndRead(IAsyncResult) |
Espera a que se complete la lectura asincrónica pendiente. (Considere la posibilidad de usar ReadAsync(Byte[], Int32, Int32) en su lugar). (Heredado de Stream) |
EndWrite(IAsyncResult) |
Controla el final de una escritura asincrónica. |
EndWrite(IAsyncResult) |
Finaliza una operación de escritura asincrónica. (Considere la posibilidad de usar WriteAsync(Byte[], Int32, Int32) en su lugar). (Heredado de Stream) |
Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
Finalize() |
Libera todos los recursos usados por el NetworkStream. |
Flush() |
Vacía los datos de la secuencia. Este método está reservado para uso futuro. |
FlushAsync() |
Borra de forma asincrónica todos los búferes de esta secuencia y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de Stream) |
FlushAsync(CancellationToken) |
Vacía los datos de la secuencia como una operación asincrónica. |
FlushAsync(CancellationToken) |
Borra de forma asincrónica todos los búferes de esta secuencia, hace que los datos almacenados en búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación. (Heredado de Stream) |
GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ObjectInvariant() |
Obsoletos.
Proporciona compatibilidad con un Contract. (Heredado de Stream) |
Read(Byte[], Int32, Int32) |
Lee los datos de la NetworkStream y los almacena en una matriz de bytes. |
Read(Span<Byte>) |
Lee los datos de la NetworkStream y los almacena en un intervalo de bytes en memoria. |
Read(Span<Byte>) |
Cuando se reemplaza en una clase derivada, lee una secuencia de bytes de la secuencia actual y avanza la posición dentro de la secuencia por el número de bytes leídos. (Heredado de Stream) |
ReadAsync(Byte[], Int32, Int32) |
Lee de forma asincrónica una secuencia de bytes de la secuencia actual y avanza la posición dentro de la secuencia por el número de bytes leídos. (Heredado de Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lee los datos de la NetworkStream y los almacena en un intervalo especificado de una matriz de bytes como una operación asincrónica. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación. (Heredado de Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Lee los datos de la NetworkStream y los almacena en un intervalo de memoria de bytes como una operación asincrónica. |
ReadAsync(Memory<Byte>, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación. (Heredado de Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Lee al menos un número mínimo de bytes de la secuencia actual y avanza la posición dentro de la secuencia por el número de bytes leídos. (Heredado de Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Lee de forma asincrónica al menos un número mínimo de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación. (Heredado de Stream) |
ReadByte() |
Lee un byte del NetworkStream y avanza la posición dentro de la secuencia por un byte, o devuelve -1 si está al final de la secuencia. |
ReadByte() |
Lee un byte de la secuencia y avanza la posición dentro de la secuencia por un byte, o devuelve -1 si está al final de la secuencia. (Heredado de Stream) |
ReadExactly(Byte[], Int32, Int32) |
Lee |
ReadExactly(Span<Byte>) |
Lee bytes de la secuencia actual y avanza la posición dentro de la secuencia hasta que se rellena el |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Lee de forma asincrónica |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Lee de forma asincrónica bytes de la secuencia actual, avanza la posición dentro de la secuencia hasta que se rellena el |
Seek(Int64, SeekOrigin) |
Establece la posición actual de la secuencia en el valor especificado. Este método no se admite actualmente y siempre inicia una NotSupportedException. |
SetLength(Int64) |
Establece la longitud de la secuencia. Este método siempre produce un NotSupportedException. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Write(Byte[], Int32, Int32) |
Escribe datos en el NetworkStream a partir de un intervalo especificado de una matriz de bytes. |
Write(ReadOnlySpan<Byte>) |
Escribe datos en el NetworkStream desde un intervalo de bytes de solo lectura. |
Write(ReadOnlySpan<Byte>) |
Cuando se reemplaza en una clase derivada, escribe una secuencia de bytes en la secuencia actual y avanza la posición actual dentro de esta secuencia por el número de bytes escritos. (Heredado de Stream) |
WriteAsync(Byte[], Int32, Int32) |
Escribe de forma asincrónica una secuencia de bytes en la secuencia actual y avanza la posición actual dentro de esta secuencia por el número de bytes escritos. (Heredado de Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Escribe datos en el NetworkStream desde el intervalo especificado de una matriz de bytes como una operación asincrónica. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, avanza la posición actual dentro de esta secuencia por el número de bytes escritos y supervisa las solicitudes de cancelación. (Heredado de Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Escribe datos en el NetworkStream desde un intervalo de memoria de bytes de solo lectura como una operación asincrónica. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, avanza la posición actual dentro de esta secuencia por el número de bytes escritos y supervisa las solicitudes de cancelación. (Heredado de Stream) |
WriteByte(Byte) |
Escribe un byte en la posición actual de la NetworkStream y avanza la posición dentro de la secuencia por un byte. |
WriteByte(Byte) |
Escribe un byte en la posición actual de la secuencia y avanza la posición dentro de la secuencia por un 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 usados por el NetworkStream. |
Métodos de extensión
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Lee asincrónicamente los bytes de la Stream y los escribe en el PipeWriterespecificado mediante un token de cancelación. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico. |