War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

TcpClient.GetStream-Methode

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

Namespace:  System.Net.Sockets
Assembly:  System (in System.dll)

public NetworkStream GetStream()

Rückgabewert

Typ: System.Net.Sockets.NetworkStream
Der zugrunde liegende NetworkStream.

AusnahmeBedingung
InvalidOperationException

Der TcpClient ist mit keinem Remotehost verbunden.

ObjectDisposedException

Der TcpClient wurde geschlossen.

GetStream gibt einen NetworkStream zurück, mit dem Sie Daten senden und empfangen können. Die NetworkStream-Klasse erbt von der Stream-Klasse, die eine umfassende Auflistung von Methoden und Eigenschaften für die Netzwerkkommunikation enthält.

Zuerst muss die Connect-Methode aufgerufen werden, sonst löst die GetStream-Methode eine InvalidOperationException aus. Nachdem Sie den NetworkStream abgerufen haben, können Sie durch Aufruf der Write-Methode Daten an den Remotehost senden. Rufen Sie die Read-Methode auf, um Daten zu empfangen, die vom Remotehost eintreffen. Beide Methoden blockieren, bis der angegebene Vorgang ausgeführt sind. Sie können das Blockieren eines Lesevorgangs durch Überprüfen der DataAvailable-Eigenschaft vermeiden. Der Wert true gibt an, dass Daten vom Remotehost empfangen wurden und zum Lesen zur Verfügung stehen. In diesem Fall ist garantiert, dass Read sofort beendet wird. Wenn der Remotehost die Verbindung beendet hat, wird Read sofort beendet und gibt 0 (null) Bytes zurück.

HinweisHinweis

NetworkStream muss nach dem Senden und Empfangen von Daten geschlossen werden. Beim Schließen von TcpClient wird NetworkStream nicht freigegeben.

HinweisHinweis

Wenn Sie eine SocketException erhalten, können Sie mit SocketException.ErrorCode den spezifischen Fehlercode abrufen. Nachdem Sie diesen Code abgerufen haben, finden Sie in MSDN in der Dokumentation zu API-Fehlercodes unter Windows Sockets, Version 2, eine ausführliche Beschreibung des Fehlers.

HinweisHinweis

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

Im folgenden Codebeispiel wird mit GetStream der zugrunde liegende NetworkStream abgerufen. Nach dem Abrufen des NetworkStream wird mit der Write-Methode und der Read-Methode gesendet und empfangen.


        TcpClient tcpClient = new TcpClient ();

        // Uses the GetStream public method to return the NetworkStream.
        NetworkStream netStream = tcpClient.GetStream ();

        if (netStream.CanWrite)
        {
            Byte[] sendBytes = Encoding.UTF8.GetBytes ("Is anybody there?");
            netStream.Write (sendBytes, 0, sendBytes.Length);
        }
        else
        {
            Console.WriteLine ("You cannot write data to this stream.");
            tcpClient.Close ();

            // Closing the tcpClient instance does not close the network stream.
            netStream.Close ();
            return;
        }

        if (netStream.CanRead)
        {
            // Reads NetworkStream into a byte buffer.
            byte[] bytes = new byte[tcpClient.ReceiveBufferSize];

            // Read can return anything from 0 to numBytesToRead. 
            // This method blocks until at least one byte is read.
            netStream.Read (bytes, 0, (int)tcpClient.ReceiveBufferSize);

            // Returns the data received from the host to the console.
            string returndata = Encoding.UTF8.GetString (bytes);

            Console.WriteLine ("This is what the host returned to you: " + returndata);

        }
        else
        {
            Console.WriteLine ("You cannot read data from this stream.");
            tcpClient.Close ();

            // Closing the tcpClient instance does not close the network stream.
            netStream.Close ();
            return;
        }
        netStream.Close();



.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft