NetworkStream NetworkStream NetworkStream NetworkStream Class

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 un NetworkStream desde un conectado Stream Socket y realizar E/S de bloqueo sincrónico básica.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

El NetworkStream clase 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 cómo bloquear o sin bloqueo Sockets, consulte con un Socket de cliente asincrónico.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. Puede usar el NetworkStream clase 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 acerca de la comunicación sincrónica y asincrónica, vea Sockets.For more information about synchronous and asynchronous communication, see Sockets.

Para crear un NetworkStream, debe proporcionar un conectado Socket.To create a NetworkStream, you must provide a connected Socket. También puede especificar qué FileAccess permiso la NetworkStream tiene sobre proporcionado Socket.You can also specify what FileAccess permission the NetworkStream has over the provided Socket. De forma predeterminada, cerrar la NetworkStream no cierra proporcionado Socket.By default, closing the NetworkStream does not close the provided Socket. Si desea que el NetworkStream tenga permiso para cerrar el proporcionado Socket, debe especificar true para el valor de la ownsSocket parámetro.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 la Write y Read métodos para sencilla con un solo subproceso de E/S de bloqueo sincrónico.Use the Write and Read methods for simple single thread synchronous blocking I/O. Si desea procesar la E/S mediante subprocesos independientes, considere el uso de la BeginWrite y EndWrite métodos, o el BeginRead y EndRead métodos 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 en el flujo de datos de la red.The NetworkStream does not support random access to the network data stream. El valor de la CanSeek propiedad, que indica si la secuencia admite búsquedas, es siempre false; cuando se lee el Position propiedad, leer el Length propiedad o llamar a la Seek método 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.

Leer y escribir las operaciones se pueden realizar simultáneamente en una instancia de la NetworkStream clase sin la 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 y cuando hay un subproceso único para las operaciones de escritura y un subproceso único para las operaciones de lectura, no habrá ninguna interferencia cruzada entre la lectura y se requiere ninguna sincronización y subprocesos de escritura.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) NetworkStream(Socket) NetworkStream(Socket) 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) NetworkStream(Socket, Boolean) NetworkStream(Socket, Boolean) 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) NetworkStream(Socket, FileAccess) NetworkStream(Socket, FileAccess) 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) NetworkStream(Socket, FileAccess, Boolean) NetworkStream(Socket, FileAccess, Boolean) 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 CanRead CanRead CanRead

Obtiene un valor que indica si NetworkStream admite la lectura.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek CanSeek CanSeek 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 CanTimeout CanTimeout CanTimeout

Indica si las propiedades de tiempo de espera pueden utilizarse para NetworkStream.Indicates whether timeout properties are usable for NetworkStream.

CanWrite CanWrite CanWrite CanWrite

Obtiene un valor que indica si NetworkStream admite la escritura.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable DataAvailable DataAvailable 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 Length Length 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 Position Position 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 Readable Readable 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 ReadTimeout ReadTimeout 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 Socket Socket Socket

Obtiene la Socket subyacente.Gets the underlying Socket.

Writeable Writeable Writeable Writeable

Obtiene un valor que indica si NetworkStream admite la escritura.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout WriteTimeout WriteTimeout 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) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 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) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

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

Close() Close() Close() Close()

Cierra el objeto NetworkStream.Closes the NetworkStream.

Close(Int32) Close(Int32) Close(Int32) 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) CopyTo(Stream) CopyTo(Stream) 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.

(Inherited from Stream)
CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) 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.

(Inherited from Stream)
CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(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.

(Inherited from Stream)
CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) 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.

(Inherited from Stream)
CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) 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.

(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) 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.

(Inherited from Stream)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.

(Inherited from MarshalByRefObject)
CreateWaitHandle() CreateWaitHandle() CreateWaitHandle() CreateWaitHandle()

Asigna un objeto WaitHandle.Allocates a WaitHandle object.

(Inherited from Stream)
Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Inherited from Stream)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados que usa NetworkStream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync() DisposeAsync() DisposeAsync() DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Inherited from Stream)
EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult)

Controla el final de una lectura asincrónica.Handles the end of an asynchronous read.

EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult)

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Libera todos los recursos que usa NetworkStream.Releases all resources used by the NetworkStream.

Flush() Flush() Flush() 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() FlushAsync() FlushAsync() 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.

(Inherited from Stream)
FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken) 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() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() 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.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() 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.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ObjectInvariant() ObjectInvariant() ObjectInvariant() ObjectInvariant()

Proporciona compatibilidad con una clase Contract.Provides support for a Contract.

(Inherited from Stream)
Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

Lee datos de NetworkStream.Reads data from the NetworkStream.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)
ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) 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.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken)
ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken)
ReadByte() ReadByte() ReadByte() ReadByte()
Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) 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) SetLength(Int64) SetLength(Int64) 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() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32)

Escribe datos en NetworkStream.Writes data to the NetworkStream.

Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>)
WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) 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.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
WriteByte(Byte) WriteByte(Byte) WriteByte(Byte) WriteByte(Byte)

Implementaciones de interfaz explícitas

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Libera todos los recursos que usa NetworkStream.Releases all resources used by the NetworkStream.

Se aplica a

Consulte también: