NamedPipeServerStream.WaitForConnection Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Čeká na připojení klienta k tomuto NamedPipeServerStream objektu.
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 ()
- Atributy
Výjimky
Připojení potrubí již bylo vytvořeno.
-nebo-
Rukojeť potrubí nebyla nastavena.
Potrubí je zavřené.
Spojení potrubí bylo přerušeno.
Příklady
Následující příklad ukazuje metodu pro odeslání řetězce z nadřazeného procesu do podřízeného procesu pomocí pojmenovaných kanálů. Tento příklad vytvoří NamedPipeServerStream objekt v nadřazené procesu. Tento objekt má PipeDirection hodnotu Out, která pak blokuje, dokud NamedPipeClientStream objekt nenaváže připojení k objektu NamedPipeServerStream . Tento příklad je součástí většího příkladu NamedPipeServerStream pro třídy a 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
Poznámky
Volání této metody způsobí blokování objektu NamedPipeServerStream , dokud se klient připojí.