SslStream.Write Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schreibt Daten in diesen Datenstrom.
Überlädt
| Name | Beschreibung |
|---|---|
| Write(Byte[]) |
Schreibt die angegebenen Daten in diesen Datenstrom. |
| Write(ReadOnlySpan<Byte>) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird eine Bytesequenz in den aktuellen Datenstrom geschrieben und die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes vorangestellt. |
| Write(Byte[], Int32, Int32) |
Schreiben Sie die angegebene Anzahl von s mithilfe des Byteangegebenen Puffers und Offsets in den zugrunde liegenden Datenstrom. |
Write(Byte[])
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
Schreibt die angegebenen Daten in diesen Datenstrom.
public:
void Write(cli::array <System::Byte> ^ buffer);
public void Write(byte[] buffer);
override this.Write : byte[] -> unit
Public Sub Write (buffer As Byte())
Parameter
Ausnahmen
buffer ist null.
Fehler beim Schreibvorgang.
Es wird bereits ein Schreibvorgang ausgeführt.
Dieses Objekt wurde geschlossen.
Die Authentifizierung ist nicht aufgetreten.
Beispiele
Das folgende Codebeispiel veranschaulicht das Schreiben in eine authentifizierte 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
Hinweise
Diese Methode blockiert, während der Vorgang abgeschlossen ist. Verwenden Sie die BeginWrite Methode, um das Blockieren während des Abschlusses des Vorgangs zu verhindern.
Sie können diese Methode erst aufrufen, nachdem Sie sich erfolgreich authentifiziert haben. Zum Authentifizieren rufen Sie eine der AuthenticateAsClientMethoden oder Methoden oder BeginAuthenticateAsClientMethoden AuthenticateAsServerBeginAuthenticateAsServer auf.
Die SslStream Klasse unterstützt nicht mehrere gleichzeitige Schreibvorgänge.
Gilt für:
Write(ReadOnlySpan<Byte>)
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird eine Bytesequenz in den aktuellen Datenstrom geschrieben und die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes vorangestellt.
public:
override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write(ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))
Parameter
- buffer
- ReadOnlySpan<Byte>
Ein Speicherbereich. Diese Methode kopiert den Inhalt dieses Bereichs in den aktuellen Datenstrom.
Gilt für:
Write(Byte[], Int32, Int32)
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
- Quelle:
- SslStream.cs
Schreiben Sie die angegebene Anzahl von s mithilfe des Byteangegebenen Puffers und Offsets in den zugrunde liegenden Datenstrom.
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)
Parameter
- offset
- Int32
Eine Int32 , die den nullbasierten Speicherort enthält, an buffer dem mit dem Lesen von Bytes begonnen wird, die in den Datenstrom geschrieben werden sollen.
Ausnahmen
buffer ist null.
offset ist kleiner als 0 (null).
-oder-
offset ist größer als die Länge von buffer.
-oder-
offset + Anzahl ist größer als die Länge von buffer.
Fehler beim Schreibvorgang.
Es wird bereits ein Schreibvorgang ausgeführt.
Dieses Objekt wurde geschlossen.
Die Authentifizierung ist nicht aufgetreten.
Hinweise
Diese Methode blockiert, während der Vorgang abgeschlossen ist. Um das Blockieren zu verhindern, während der Vorgang abgeschlossen ist, verwenden Sie die BeginWrite Methode.
Sie können diese Methode erst aufrufen, nachdem Sie sich erfolgreich authentifiziert haben. Zum Authentifizieren rufen Sie eine der AuthenticateAsClientMethoden oder Methoden oder BeginAuthenticateAsClientMethoden AuthenticateAsServerBeginAuthenticateAsServer auf.
Die SslStream Klasse unterstützt nicht mehrere gleichzeitige Schreibvorgänge.