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
Public Class NetworkStream
Inherits Stream
Herencia

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una NetworkStream a partir de una Socket de Streamconectada y realizar operaciones de e/s de bloqueo sincrónicos 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 clase NetworkStream proporciona métodos para enviar y recibir datos a través de Stream 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 desbloqueo de Sockets, 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 clase NetworkStream 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 una NetworkStream, debe proporcionar una Socketconectada.To create a NetworkStream, you must provide a connected Socket. También puede especificar qué FileAccess permiso tiene el NetworkStream sobre el Socketproporcionado.You can also specify what FileAccess permission the NetworkStream has over the provided Socket. De forma predeterminada, al cerrar el NetworkStream no se cierra el Socketproporcionado.By default, closing the NetworkStream does not close the provided Socket. Si desea que el NetworkStream tenga permiso para cerrar el Socketproporcionado, debe especificar true para el valor del parámetro ownsSocket.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 métodos Write y Read 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 de usar los métodos BeginWrite y EndWrite, o los métodos BeginRead y EndRead 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.

El NetworkStream no 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 propiedad CanSeek, que indica si la secuencia admite búsquedas, siempre es false; la lectura de la propiedad Position, la lectura de la propiedad Length o la llamada al método Seek producirá una 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 clase NetworkStream 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. Esta propiedad no se admite actualmente. Esta propiedad devuelve siempre false.This property is not currently supported.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.

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.

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.

Métodos

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

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

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

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

Close()

Cierra el objeto NetworkStream.Closes the NetworkStream.

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

Asigna un objeto WaitHandle.Allocates a WaitHandle object.

(Heredado de Stream)
Dispose()

Libera todos los recursos que ha usado el objeto Stream.Releases all resources used by the Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados que usa el objeto NetworkStream y, opcionalmente, 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.

EndWrite(IAsyncResult)

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

Equals(Object)

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

(Heredado de Object)
Finalize()

Libera todos los recursos que ha usado el objeto 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.

GetHashCode()

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

(Heredado de Object)
GetLifetimeService()

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

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

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.

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

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.

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 un valor de tipo string 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.

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

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.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera todos los recursos que ha usado el objeto NetworkStream.Releases all resources used by the NetworkStream.

Se aplica a

Consulte también: