Proporciona la secuencia de datos subyacente para el acceso a la red.
Espacio de nombres: System.Net.Sockets
Ensamblado: System (en system.dll)
Visual Basic (Declaración)
Public Class NetworkStream
Inherits Stream
Dim instance As NetworkStream
public class NetworkStream : Stream
public ref class NetworkStream : public Stream
public class NetworkStream extends Stream
public class NetworkStream extends Stream
La clase NetworkStream proporciona métodos para enviar y recibir datos a través de sockets de Stream en modo de bloqueo. Para obtener más información sobre cómo bloquear o desbloquear Sockets, vea Utilizar un socket de cliente asincrónico. Puede utilizar 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, vea el tema Sockets.
Para crear una clase NetworkStream, es necesario suministrar un Socket conectado. También se puede especificar qué permiso de tipo FileAccess tiene NetworkStream con respecto al Socket proporcionado. De forma predeterminada, al cerrar NetworkStream no se cierra el Socket proporcionado. Si desea que NetworkStream tenga permiso para cerrar el Socket proporcionado, deberá especificar true para el valor del parámetro ownsSocket.
Utilice los métodos Write y Read para las operaciones de E/S de bloqueo sincrónica y sencilla con un solo subproceso. Si desea procesar las operaciones de E/S mediante subprocesos independientes, considere la posibilidad de utilizar los métodos BeginWrite y EndWrite, o los métodos BeginRead y EndRead para la comunicación.
NetworkStream no admite el acceso aleatorio a la secuencia de datos de red. El valor de la propiedad CanSeek, que indica si la secuencia admite búsquedas, es siempre false; al leer la propiedad Position, leer la propiedad Length o llamar al método Seek, se producirá una excepción NotSupportedException.
En el ejemplo de código siguiente se muestra cómo crear una clase NetworkStream a partir de un StreamSocket conectado y realizar operaciones básicas de E/S de bloqueo sincrónica.
' 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
// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;
if (networkStreamOwnsSocket){
myNetworkStream = new NetworkStream(mySocket, true);
}
else{
myNetworkStream = new NetworkStream(mySocket);
}
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;
if ( networkStreamOwnsSocket )
{
myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
myNetworkStream = gcnew NetworkStream( mySocket );
}
// 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);
}
System.Object
System.MarshalByRefObject
System.IO.Stream
System.Net.Sockets.NetworkStream
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
.NET Framework
Compatible con: 2.0, 1.1, 1.0
.NET Compact Framework
Compatible con: 2.0, 1.0