SslStream.Write Methode

Definitie

Hiermee schrijft u gegevens naar deze stream.

Overloads

Name Description
Write(Byte[])

Hiermee schrijft u de opgegeven gegevens naar deze stream.

Write(Byte[], Int32, Int32)

Schrijf het opgegeven aantal s naar de onderliggende stroom met behulp van Bytede opgegeven buffer en offset.

Write(Byte[])

Hiermee schrijft u de opgegeven gegevens naar deze stream.

public:
 void Write(cli::array <System::Byte> ^ buffer);
public void Write(byte[] buffer);
override this.Write : byte[] -> unit
Public Sub Write (buffer As Byte())

Parameters

buffer
Byte[]

Een Byte matrix die de bytes levert die naar de stream zijn geschreven.

Uitzonderingen

buffer is null.

De schrijfbewerking is mislukt.

Er wordt al een schrijfbewerking uitgevoerd.

Dit object is gesloten.

Er is geen verificatie opgetreden.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u schrijft naar een geverifieerde SslStream.

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();
    }
}
Private Shared Sub ProcessClient(client As TcpClient)
    ' A client has connected. Create the 
    ' SslStream using the client's network stream.
    Dim sslStream = New SslStream(client.GetStream(), False)

    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...")
        Dim messageData As String = ReadMessage(sslStream)
        Console.WriteLine("Received: {0}", messageData)

        ' Write a message to the client.
        Dim message As Byte() = Encoding.UTF8.GetBytes("Hello from the server.<EOF>")
        Console.WriteLine("Sending hello message.")
        sslStream.Write(message)
    Catch e As AuthenticationException
        Console.WriteLine("Exception: {0}", e.Message)

        If e.InnerException IsNot Nothing Then
            Console.WriteLine("Inner exception: {0}", e.InnerException.Message)
        End If

        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()
    End Try
End Sub

Opmerkingen

Deze methode blokkeert terwijl de bewerking is voltooid. Als u wilt voorkomen dat de bewerking wordt geblokkeerd terwijl de bewerking is voltooid, gebruikt u de BeginWrite methode.

U kunt deze methode pas aanroepen als u bent geverifieerd. Als u wilt verifiëren, roept u een van de AuthenticateAsClientmethoden , of BeginAuthenticateAsClient, AuthenticateAsServeraan BeginAuthenticateAsServer .

De SslStream klasse biedt geen ondersteuning voor meerdere gelijktijdige schrijfbewerkingen.

Van toepassing op

Write(Byte[], Int32, Int32)

Schrijf het opgegeven aantal s naar de onderliggende stroom met behulp van Bytede opgegeven buffer en offset.

public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write(byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Parameters

buffer
Byte[]

Een Byte matrix die de bytes levert die naar de stream zijn geschreven.

offset
Int32

Een Int32 die de op nul gebaseerde locatie buffer bevat waarop bytes moeten worden gelezen die naar de stream moeten worden geschreven.

count
Int32

Een Int32 met het aantal bytes waaruit moet worden gelezen buffer.

Uitzonderingen

buffer is null.

offset is kleiner dan nul.

– of –

offset is groter dan de lengte van buffer.

– of –

offset + count is groter dan de lengte van buffer.

De schrijfbewerking is mislukt.

Er wordt al een schrijfbewerking uitgevoerd.

Dit object is gesloten.

Er is geen verificatie opgetreden.

Opmerkingen

Deze methode blokkeert terwijl de bewerking is voltooid. Als u wilt voorkomen dat de bewerking wordt geblokkeerd terwijl de bewerking is voltooid, gebruikt u de BeginWrite methode.

U kunt deze methode pas aanroepen als u bent geverifieerd. Als u wilt verifiëren, roept u een van de AuthenticateAsClientmethoden , of BeginAuthenticateAsClient, AuthenticateAsServeraan BeginAuthenticateAsServer .

De SslStream klasse biedt geen ondersteuning voor meerdere gelijktijdige schrijfbewerkingen.

Van toepassing op