NamedPipeServerStream.WaitForConnection Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Czeka na nawiązanie połączenia z tym NamedPipeServerStream obiektem przez klienta.
public:
void WaitForConnection();
public void WaitForConnection ();
[System.Security.SecurityCritical]
public void WaitForConnection ();
member this.WaitForConnection : unit -> unit
[<System.Security.SecurityCritical>]
member this.WaitForConnection : unit -> unit
Public Sub WaitForConnection ()
- Atrybuty
Wyjątki
Nawiązano już połączenie potoku.
-lub-
Uchwyt potoku nie został ustawiony.
Rura jest zamknięta.
Połączenie potoku zostało przerwane.
Przykłady
W poniższym przykładzie pokazano metodę wysyłania ciągu z procesu nadrzędnego do procesu podrzędnego przy użyciu nazwanych potoków. W tym przykładzie tworzony jest NamedPipeServerStream obiekt w procesie nadrzędnym. Ten obiekt ma PipeDirection wartość , która następnie blokuje, dopóki NamedPipeClientStream obiekt nie nałoży połączenia z obiektem NamedPipeServerStreamOut. Ten przykład jest częścią większego przykładu udostępnionego NamedPipeServerStream dla klas i NamedPipeClientStream .
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 NamedPipeServerStream zablokowanie obiektu do momentu nawiązania połączenia przez klienta.