NetworkStream Clase

Definición

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
NetworkStream
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 false.

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 count número de bytes de la secuencia actual y avanza la posición dentro de la secuencia.

(Heredado de Stream)
ReadExactly(Span<Byte>)

Lee bytes de la secuencia actual y avanza la posición dentro de la secuencia hasta que se rellena el buffer.

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

Lee de forma asincrónica count número de bytes de la secuencia actual, avanza la posición dentro de la secuencia y supervisa las solicitudes de cancelación.

(Heredado de Stream)
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 buffer y supervisa las solicitudes de cancelación.

(Heredado de Stream)
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.

Se aplica a

Consulte también