Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo SslStream.Write (Byte[])

 

Data di pubblicazione: ottobre 2016

Scrive i dati specificati in questo flusso.

Spazio dei nomi:   System.Net.Security
Assembly:  System (in System.dll)

public void Write(
	byte[] buffer
)

Parametri

buffer
Type: System.Byte[]

Oggetto Byte matrice che fornisce i byte scritti nel flusso.

Exception Condition
ArgumentNullException

buffer è null.

IOException

Impossibile eseguire l'operazione di scrittura.

NotSupportedException

Esiste già in corso un'operazione di scrittura.

ObjectDisposedException

Questo oggetto è stato chiuso.

InvalidOperationException

Autenticazione non è stata eseguita.

Questo metodo si blocca durante il completamento dell'operazione. Per evitare il blocco di completamento dell'operazione, utilizzare il BeginWrite metodo.

È possibile chiamare questo metodo fino a quando non è stata effettuata l'autenticazione. Per l'autenticazione di chiamare uno del AuthenticateAsClient, o BeginAuthenticateAsClient, AuthenticateAsServer, BeginAuthenticateAsServer metodi.

La SslStream classe non supporta più operazioni di scrittura simultanee.

Esempio di codice seguente viene illustrato come scrivere in un oggetto autenticato 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, 
            false, SslProtocols.Tls, 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();
    }
}

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: