NetworkStream Clase

Definición

Proporciona el flujo de datos subyacente para el acceso a través de 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

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear un NetworkStream a partir de una conexión StreamSocket y realizar E/S de bloqueo sincrónica básica.

// 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. 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 NetworkStreamobjeto , 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 objeto proporcionado Socket. Si desea que el NetworkStream permiso tenga para cerrar el proporcionado Socket, debe especificar true para el valor del ownsSocket parámetro .

Use los Write métodos y Read para la E/S de bloqueo sincrónica de un único subproceso. Si desea procesar la E/S mediante subprocesos independientes, considere la posibilidad de usar los BeginWrite métodos y EndWrite o los BeginRead métodos y EndRead para la comunicación.

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 sincronización.

Constructores

NetworkStream(Socket)

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

NetworkStream(Socket, Boolean)

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

NetworkStream(Socket, FileAccess)

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

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.

Propiedades

CanRead

Obtiene un valor que indica si NetworkStream admite la lectura.

CanSeek

Obtiene un valor que indica si la secuencia admite búsquedas. Actualmente, esta propiedad no es compatible. Esta propiedad devuelve siempre false.

CanTimeout

Indica si las propiedades de tiempo de espera pueden utilizarse para NetworkStream.

CanTimeout

Obtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual.

(Heredado de Stream)
CanWrite

Obtiene un valor que indica si NetworkStream admite la escritura.

DataAvailable

Obtiene un valor que indica si hay datos disponibles en NetworkStream para su lectura.

Length

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

Position

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

Readable

Obtiene o establece un valor que indica si NetworkStream admite la lectura.

ReadTimeout

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

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.

(Heredado de Stream)
Socket

Obtiene la Socket subyacente.

Writeable

Obtiene un valor que indica si NetworkStream admite la escritura.

WriteTimeout

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

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.

(Heredado de Stream)

Métodos

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

Comienza una lectura asincrónica de NetworkStream.

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

Comienza una operación de lectura asincrónica. (Considere usar ReadAsync(Byte[], Int32, Int32) en su lugar).

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

Inicia una escritura asincrónica en una secuencia.

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

Comienza una operación de escritura asincrónica. (Considere usar WriteAsync(Byte[], Int32, Int32) en su lugar).

(Heredado de Stream)
Close()

Cierra el objeto NetworkStream.

Close()

Cierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta. En lugar de llamar a este método, asegúrese de que la secuencia se desecha correctamente.

(Heredado de Stream)
Close(Int32)

Cierra NetworkStream después de esperar el tiempo especificado para permitir que se envíen los datos.

Close(TimeSpan)
CopyTo(Stream)

Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(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. 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 de forma asincrónica 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 asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, usando el 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, utilizando el tamaño de búfer y el 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 relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.
Obsoleto.
Obsoleto.

Asigna un objeto WaitHandle.

(Heredado de Stream)
Dispose()

Libera todos los recursos que usa Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados que usa NetworkStream y, de forma opcional, 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.

EndRead(IAsyncResult)

Espera a que se complete la lectura asincrónica que se encuentra pendiente. (Considere 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 usar WriteAsync(Byte[], Int32, Int32) en su lugar).

(Heredado de Stream)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera todos los recursos que usa NetworkStream.

Flush()

Vacía los datos de la secuencia. Este método está reservado para un uso futuro.

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.

(Heredado de Stream)
FlushAsync(CancellationToken)

Vacía los datos de la secuencia como una operación asincrónica.

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.

(Heredado de Stream)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

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()
Obsoleto.

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

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Proporciona compatibilidad con una clase Contract.

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

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

Read(Span<Byte>)

Lee datos de NetworkStream y los almacena en un intervalo de bytes en memoria.

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.

(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.

(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.

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.

(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.

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.

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

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.

(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 NotSupportedException.

SetLength(Int64)

Establece la longitud del flujo. Este método produce siempre una excepción NotSupportedException.

ToString()

Devuelve una cadena que representa el objeto actual.

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

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

Write(ReadOnlySpan<Byte>)

Escribe datos en NetworkStream desde un intervalo de bytes de solo lectura.

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.

(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.

(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.

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.

(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.

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.

(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.

WriteByte(Byte)

Escribe un byte a la posición actual en la secuencia y avanza la posición de la secuencia en 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 que usa NetworkStream.

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.

Se aplica a

Consulte también