Auf Englisch lesen

Freigeben über


TcpClient.GetStream Methode

Definition

Gibt den für das Senden und Empfangen von Daten verwendeten NetworkStream zurück.

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

Gibt zurück

Der zugrundeliegende NetworkStream.

Ausnahmen

Der TcpClient ist mit keinem Remotehost verbunden.

Der TcpClient wurde geschlossen.

Beispiele

Im folgenden Codebeispiel wird GetStream verwendet, um die zugrunde liegende NetworkStreamabzurufen. Nach dem Abrufen von NetworkStreamsendet und empfängt es mit seinen Write Methoden und Read .

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}");

Hinweise

Die GetStream -Methode gibt eine NetworkStream zurück, die Sie zum Senden und Empfangen von Daten verwenden können. Die NetworkStream -Klasse erbt von der Stream -Klasse, die eine umfassende Sammlung von Methoden und Eigenschaften bereitstellt, die zur Erleichterung der Netzwerkkommunikation verwendet werden.

Sie müssen zuerst die Connect -Methode aufrufen, sonst löst die GetStream -Methode einen aus InvalidOperationException. Nachdem Sie die NetworkStreamabgerufen haben, rufen Sie die Write -Methode auf, um Daten an den Remotehost zu senden. Rufen Sie die Read -Methode auf, um Vom Remotehost eingehende Daten zu empfangen. Beide Methoden blockieren, bis der angegebene Vorgang ausgeführt wird. Sie können das Blockieren eines Lesevorgangs vermeiden, indem Sie die DataAvailable -Eigenschaft überprüfen. Ein true Wert bedeutet, dass Daten vom Remotehost eingetroffen sind und zum Lesen verfügbar sind. In diesem Fall ist garantiert, Read dass sie sofort abgeschlossen wird. Wenn der Remotehost seine Verbindung heruntergefahren hat, Read wird sofort mit null Bytes zurückgegeben.

Hinweis

Wenn Sie einen SocketExceptionerhalten, verwenden Sie SocketException.ErrorCode , um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie eine ausführliche Beschreibung des Fehlers in der Dokumentation zur Windows Sockets-API, Version 2 .

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung im .NET Framework.

Gilt für:

Produkt Versionen
.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
.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

Weitere Informationen