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.