NamedPipeServerStream.WaitForConnection Metoda

Definicja

Czeka, aż klient nawiąże połączenie z tym obiektem NamedPipeServerStream.Waits for a client to connect to this NamedPipeServerStream object.

public:
 void WaitForConnection();
[System.Security.SecurityCritical]
public void WaitForConnection ();
member this.WaitForConnection : unit -> unit
Public Sub WaitForConnection ()
Atrybuty

Wyjątki

Połączenie potoku zostało już nawiązane.A pipe connection has already been established.

lub-or-

Dojście potoku nie zostało ustawione.The pipe handle has not been set.

Potok jest zamknięty.The pipe is closed.

Połączenie potoku zostało przerwane.The pipe connection has been broken.

Przykłady

Poniższy przykład ilustruje metodę wysyłania ciągu z procesu nadrzędnego do procesu podrzędnego przy użyciu nazwanych potoków.The following example demonstrates a method to send a string from a parent process to a child process using named pipes. Ten przykład tworzy obiekt NamedPipeServerStream w procesie nadrzędnym.This example creates a NamedPipeServerStream object in a parent process. Ten obiekt ma PipeDirection wartość Out, która następnie jest blokowana do momentu, gdy obiekt NamedPipeClientStream nawiąże połączenie z obiektem NamedPipeServerStream.This object has a PipeDirection value of Out, which then blocks until a NamedPipeClientStream object establishes a connection to the NamedPipeServerStream object. Ten przykład jest częścią większego przykładu dostępnego dla klas NamedPipeServerStream i NamedPipeClientStream.This example is part of a larger example provided for the NamedPipeServerStream and NamedPipeClientStream classes.

using System;
using System.IO;
using System.IO.Pipes;

class PipeServer
{
    static void Main()
    {
        using (NamedPipeServerStream pipeServer =
            new NamedPipeServerStream("testpipe", PipeDirection.Out))
        {
            Console.WriteLine("NamedPipeServerStream object created.");

            // Wait for a client to connect
            Console.Write("Waiting for client connection...");
            pipeServer.WaitForConnection();

            Console.WriteLine("Client connected.");
            try
            {
                // Read user input and send that to the client process.
                using (StreamWriter sw = new StreamWriter(pipeServer))
                {
                    sw.AutoFlush = true;
                    Console.Write("Enter text: ");
                    sw.WriteLine(Console.ReadLine());
                }
            }
            // Catch the IOException that is raised if the pipe is broken
            // or disconnected.
            catch (IOException e)
            {
                Console.WriteLine("ERROR: {0}", e.Message);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeServer

    Shared Sub Main()
        Dim pipeServer As New NamedPipeServerStream("testpipe", PipeDirection.Out)

        Console.WriteLine("NamedPipeServerStream object created.")

        ' Wait for a client to connect
        Console.Write("Waiting for a client connection...")
        pipeServer.WaitForConnection()

        Console.WriteLine("Client connected.")
        Try
            'Read user input and send that to the client process.
            Dim sw As New StreamWriter(pipeServer)
            sw.AutoFlush = True
            Console.Write("Enter Text: ")
            sw.WriteLine(Console.ReadLine())
        Catch ex As IOException
            ' Catch the IOException that is raised if the pipe is broken
            ' or disconnected
            Console.WriteLine("ERROR: {0}", ex.Message)
        End Try
    End Sub
End Class

Uwagi

Wywołanie tej metody powoduje, że obiekt NamedPipeServerStream będzie zablokowany do momentu połączenia się z klientem.Calling this method causes the NamedPipeServerStream object to block until a client connects.

Dotyczy