SslStream.Write Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu akışa veri yazar.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| Write(Byte[]) |
Belirtilen verileri bu akışa yazar. |
| Write(ReadOnlySpan<Byte>) |
Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısıyla bu akıştaki geçerli konumu ilerletir. |
| Write(Byte[], Int32, Int32) |
Belirtilen arabellek ve uzaklığı kullanarak temel alınan akışa belirtilen s sayısını Byteyazın. |
Write(Byte[])
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
Belirtilen verileri bu akışa yazar.
public:
void Write(cli::array <System::Byte> ^ buffer);
public void Write(byte[] buffer);
override this.Write : byte[] -> unit
Public Sub Write (buffer As Byte())
Parametreler
Özel durumlar
buffer, null'e eşittir.
Yazma işlemi başarısız oldu.
Devam eden bir yazma işlemi zaten var.
Bu nesne kapatıldı.
Kimlik doğrulaması gerçekleşmedi.
Örnekler
Aşağıdaki kod örneği, kimliği doğrulanmış SslStreambir öğesine yazmayı gösterir.
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
Açıklamalar
İşlem tamamlarken bu yöntem engeller. İşlem tamamlarken engellemeyi önlemek için yöntemini kullanın BeginWrite .
Kimlik doğrulaması başarılı olana kadar bu yöntemi çağıramazsınız. Kimlik doğrulaması yapmak için , veya AuthenticateAsClient, BeginAuthenticateAsClientAuthenticateAsServer yöntemlerinden birini BeginAuthenticateAsServerçağırın.
SslStream sınıfı birden çok eşzamanlı yazma işlemini desteklemez.
Şunlara uygulanır
Write(ReadOnlySpan<Byte>)
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısıyla bu akıştaki geçerli konumu ilerletir.
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))
Parametreler
- buffer
- ReadOnlySpan<Byte>
Bellek bölgesi. Bu yöntem, bu bölgenin içeriğini geçerli akışa kopyalar.
Şunlara uygulanır
Write(Byte[], Int32, Int32)
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
- Kaynak:
- SslStream.cs
Belirtilen arabellek ve uzaklığı kullanarak temel alınan akışa belirtilen s sayısını Byteyazın.
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)
Parametreler
- offset
- Int32
Int32 Akışa yazılacak baytları okumaya başlanacak sıfır tabanlı konumu buffer içeren bir.
Özel durumlar
buffer, null'e eşittir.
offset, sıfırdan küçüktür.
-veya-
offset , uzunluğundan bufferbüyüktür.
-veya-
offset + sayısı, uzunluğundan bufferbüyüktür.
Yazma işlemi başarısız oldu.
Devam eden bir yazma işlemi zaten var.
Bu nesne kapatıldı.
Kimlik doğrulaması gerçekleşmedi.
Açıklamalar
İşlem tamamlarken bu yöntem engeller. İşlem tamamlarken engellemeyi önlemek için yöntemini kullanın BeginWrite .
Kimlik doğrulaması başarılı olana kadar bu yöntemi çağıramazsınız. Kimlik doğrulaması yapmak için , veya AuthenticateAsClient, BeginAuthenticateAsClientAuthenticateAsServer yöntemlerinden birini BeginAuthenticateAsServerçağırın.
SslStream sınıfı birden çok eşzamanlı yazma işlemini desteklemez.