Compartir por


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 NetworkStream clase proporciona métodos para enviar y recibir datos a través Stream de sockets en modo de bloqueo. Para obtener más información sobre el bloqueo frente a los bloqueos Socket, consulte Uso de un socket de cliente asincrónico. Puede usar la NetworkStream clase 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 objeto conectado Socket. También puede especificar qué FileAccess permiso tiene sobre NetworkStream el proporcionado Socket. De forma predeterminada, al cerrar NetworkStream no se cierra el proporcionado Socket. Si desea NetworkStream que tenga permiso para cerrar el proporcionado Socket, debe especificar true para el valor del ownsSocket parámetro .

Use los métodos y Read para la Write 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 Task métodos ReadAsync basados en o ValueTasky WriteAsync.

NetworkStream no admite el acceso aleatorio al flujo de datos de red. El valor de la CanSeek propiedad , que indica si la secuencia admite la búsqueda, siempre falsees ; leer la Position propiedad, leer la Length propiedad o llamar al Seek método producirá un NotSupportedException.

Las operaciones de lectura y escritura se pueden realizar simultáneamente en una instancia de la NetworkStream clase 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

Nombre Description
NetworkStream(Socket, Boolean)

Inicializa una nueva instancia de la NetworkStream clase para el especificado con la propiedad especificada SocketSocket.

NetworkStream(Socket, FileAccess, Boolean)

Crea una nueva instancia de la NetworkStream clase para el especificado con los derechos de acceso especificados Socket y la propiedad especificada Socket .

NetworkStream(Socket, FileAccess)

Crea una nueva instancia de la NetworkStream clase para el especificado Socket con los derechos de acceso especificados.

NetworkStream(Socket)

Crea una nueva instancia de la NetworkStream clase para el especificado Socket.

Propiedades

Nombre Description
CanRead

Obtiene un valor que indica si admite la NetworkStream 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.

CanWrite

Obtiene un valor que indica si admite la NetworkStream escritura.

DataAvailable

Obtiene un valor que indica si los datos están disponibles para NetworkStream leerse inmediatamente.

Length

Obtiene la longitud de los datos disponibles en la secuencia. Esta propiedad no se admite actualmente y siempre produce una NotSupportedExceptionexcepción .

Position

Obtiene o establece la posición actual en la secuencia. Esta propiedad no se admite actualmente y siempre produce una NotSupportedExceptionexcepción .

Readable

Obtiene o establece un valor que indica si NetworkStream se puede leer .

ReadTimeout

Obtiene o establece la cantidad de tiempo que una operación de lectura bloquea la espera de datos.

Socket

Obtiene el objeto subyacente Socket.

Writeable

Obtiene un valor que indica si se NetworkStream puede escribir.

WriteTimeout

Obtiene o establece la cantidad de tiempo que una operación de escritura bloquea en espera de datos.

Métodos

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

Comienza una lectura asincrónica de .NetworkStream

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

Comienza una escritura asincrónica en una secuencia.

Close()

Cierra .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 después de NetworkStream esperar el tiempo especificado para permitir que se envíen los datos.

Close(TimeSpan)

Cierra después de NetworkStream esperar la cantidad de tiempo especificada para permitir que se envíen los datos.

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)
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)
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, 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)
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)

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)
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 WaitHandle objeto .

(Heredado de Stream)
Dispose()

Libera todos los recursos usados por .Stream

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados utilizados por NetworkStream y, opcionalmente, libera los recursos administrados.

DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por .Stream

(Heredado de Stream)
EndRead(IAsyncResult)

Controla el final de una lectura asincrónica.

EndWrite(IAsyncResult)

Controla el final de una escritura asincrónica.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
Finalize()

Libera todos los recursos usados por .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.

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 actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
ObjectInvariant()
Obsoletos.

Proporciona compatibilidad con .Contract

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

Lee los datos de NetworkStream y los almacena en una matriz de bytes.

Read(Span<Byte>)

Lee los datos de 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, CancellationToken)

Lee los datos de 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(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(Memory<Byte>, CancellationToken)

Lee los datos de 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 de y NetworkStream 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)

count Lee el 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 buffer que se rellena.

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

Lee count de forma asincrónica el 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 los bytes de la secuencia actual, avanza la posición dentro de la secuencia hasta buffer que se rellena 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 produce una NotSupportedExceptionexcepción .

SetLength(Int64)

Establece la longitud de la secuencia. Este método siempre produce una NotSupportedExceptionexcepción .

ToString()

Devuelve una cadena que representa el objeto actual.

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

Escribe datos en desde NetworkStream un intervalo especificado de una matriz de bytes.

Write(ReadOnlySpan<Byte>)

Escribe datos en desde NetworkStream 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, CancellationToken)

Escribe datos en desde NetworkStream 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(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(ReadOnlyMemory<Byte>, CancellationToken)

Escribe datos en 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 en 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

Nombre Description
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 .NetworkStream

Métodos de extensión

Nombre Description
ConfigureAwait(IAsyncDisposable, Boolean)

Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico.

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lee asincrónicamente los bytes de Stream y los escribe en el especificado PipeWritermediante un token de cancelación.

Se aplica a

Consulte también