TcpClient.GetStream Método

Definición

Devuelve la NetworkStream usada para enviar y recibir datos.

C#
public System.Net.Sockets.NetworkStream GetStream();

Devoluciones

Objeto NetworkStream subyacente.

Excepciones

TcpClient no está conectada a un host remoto.

Ejemplos

En el ejemplo de código siguiente se usa GetStream para obtener el subyacente NetworkStream. Después de obtener , NetworkStreamenvía y recibe mediante sus Write métodos y Read .

C#
using TcpClient tcpClient = new TcpClient();
tcpClient.ConnectAsync("contoso.com", 5000);

using NetworkStream netStream = tcpClient.GetStream();

// Send some data to the peer.
byte[] sendBuffer = Encoding.UTF8.GetBytes("Is anybody there?");
netStream.Write(sendBuffer);

// Receive some data from the peer.
byte[] receiveBuffer = new byte[1024];
int bytesReceived = netStream.Read(receiveBuffer);
string data = Encoding.UTF8.GetString(receiveBuffer.AsSpan(0, bytesReceived));

Console.WriteLine($"This is what the peer sent to you: {data}");

Comentarios

El GetStream método devuelve un NetworkStream objeto que puede usar para enviar y recibir datos. La NetworkStream clase hereda de la Stream clase , que proporciona una colección enriquecida de métodos y propiedades que se usan para facilitar las comunicaciones de red.

Primero debe llamar al Connect método o el GetStream método producirá una InvalidOperationExceptionexcepción . Después de haber obtenido , NetworkStreamllame al Write método para enviar datos al host remoto. Llame al Read método para recibir datos que llegan desde el host remoto. Ambos métodos se bloquean hasta que se realiza la operación especificada. Puede evitar el bloqueo en una operación de lectura comprobando la DataAvailable propiedad . Un true valor significa que los datos han llegado desde el host remoto y están disponibles para su lectura. En este caso, Read se garantiza que se complete inmediatamente. Si el host remoto ha apagado su conexión, Read devolverá inmediatamente con cero bytes.

Nota

Si recibe un SocketException, use SocketException.ErrorCode para obtener el código de error específico. Después de obtener este código, puede consultar la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Consulte también