Auf Englisch lesen

Teilen über


SslStream.Write Methode

Definition

Schreibt Daten in diesen Stream.

Überlädt

Write(Byte[])

Schreibt die angegebenen Daten in diesen Stream.

Write(Byte[], Int32, Int32)

Schreiben Sie die angegebene Anzahl von Byte mit dem angegebenen Puffer und dem angegebenen Offset in den zugrunde liegenden Stream.

Write(Byte[])

Quelle:
SslStream.cs
Quelle:
SslStream.cs
Quelle:
SslStream.cs

Schreibt die angegebenen Daten in diesen Stream.

public void Write (byte[] buffer);

Parameter

buffer
Byte[]

Ein Byte-Array, das die in den Stream geschriebenen Bytes bereitstellt.

Ausnahmen

buffer ist null.

Fehler beim Schreibvorgang.

Es wird bereits ein Schreibvorgang ausgeführt.

Dieses Objekt wurde geschlossen.

Es ist keine Authentifizierung erfolgt.

Beispiele

Im folgenden Codebeispiel wird das Schreiben in eine authentifizierte SslStreamveranschaulicht.

static void ProcessClient (TcpClient client)
{
    // A client has connected. Create the
    // SslStream using the client's network stream.
    SslStream sslStream = new SslStream(
        client.GetStream(), false);
    // Authenticate the server but don't require the client to authenticate.
    try
    {
        sslStream.AuthenticateAsServer(serverCertificate, clientCertificateRequired: false, checkCertificateRevocation: true);

        // Display the properties and settings for the authenticated stream.
        DisplaySecurityLevel(sslStream);
        DisplaySecurityServices(sslStream);
        DisplayCertificateInformation(sslStream);
        DisplayStreamProperties(sslStream);

        // Set timeouts for the read and write to 5 seconds.
        sslStream.ReadTimeout = 5000;
        sslStream.WriteTimeout = 5000;
        // Read a message from the client.
        Console.WriteLine("Waiting for client message...");
        string messageData = ReadMessage(sslStream);
        Console.WriteLine("Received: {0}", messageData);

        // Write a message to the client.
        byte[] message = Encoding.UTF8.GetBytes("Hello from the server.<EOF>");
        Console.WriteLine("Sending hello message.");
        sslStream.Write(message);
    }
    catch (AuthenticationException e)
    {
        Console.WriteLine("Exception: {0}", e.Message);
        if (e.InnerException != null)
        {
            Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
        }
        Console.WriteLine ("Authentication failed - closing the connection.");
        sslStream.Close();
        client.Close();
        return;
    }
    finally
    {
        // The client stream will be closed with the sslStream
        // because we specified this behavior when creating
        // the sslStream.
        sslStream.Close();
        client.Close();
    }
}

Hinweise

Diese Methode blockiert, während der Vorgang abgeschlossen wird. Verwenden Sie die BeginWrite -Methode, um zu verhindern, dass während des Vorgangs blockiert wird.

Sie können diese Methode erst aufrufen, wenn Sie sich erfolgreich authentifiziert haben. Rufen Sie zum Authentifizieren eine der AuthenticateAsClientMethoden , oder BeginAuthenticateAsClient, AuthenticateAsServerauf BeginAuthenticateAsServer .

Die SslStream -Klasse unterstützt keine gleichzeitigen Schreibvorgänge.

Gilt für:

.NET 9 und andere Versionen
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 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 2.0, 2.1

Write(Byte[], Int32, Int32)

Quelle:
SslStream.cs
Quelle:
SslStream.cs
Quelle:
SslStream.cs

Schreiben Sie die angegebene Anzahl von Byte mit dem angegebenen Puffer und dem angegebenen Offset in den zugrunde liegenden Stream.

public override void Write (byte[] buffer, int offset, int count);

Parameter

buffer
Byte[]

Ein Byte-Array, das die in den Stream geschriebenen Bytes bereitstellt.

offset
Int32

Ein Int32-Typ, der den nullbasierten Speicherort im buffer enthält, ab dem mit dem Lesen der in den Stream zu schreibenden Bytes begonnen werden soll.

count
Int32

Ein Int32-Typ, der die Anzahl der aus dem buffer zu lesenden Bytes enthält.

Ausnahmen

buffer ist null.

offset ist kleiner als Null.

- oder -

offset ist größer als die Länge von buffer.

- oder -

offset plus „count“ ist größer als die Länge von buffer.

Fehler beim Schreibvorgang.

Es wird bereits ein Schreibvorgang ausgeführt.

Dieses Objekt wurde geschlossen.

Es ist keine Authentifizierung erfolgt.

Hinweise

Diese Methode blockiert, während der Vorgang abgeschlossen wird. Verwenden Sie die BeginWrite -Methode, um eine Blockierung zu verhindern, während der Vorgang abgeschlossen ist.

Sie können diese Methode erst aufrufen, wenn Sie sich erfolgreich authentifiziert haben. Rufen Sie zum Authentifizieren eine der AuthenticateAsClientMethoden , oder BeginAuthenticateAsClient, AuthenticateAsServerauf BeginAuthenticateAsServer .

Die SslStream -Klasse unterstützt keine gleichzeitigen Schreibvorgänge.

Gilt für:

.NET 9 und andere Versionen
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 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 2.0, 2.1