NamedPipeServerStream.WaitForConnection Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Attend qu’un client se connecte à cet NamedPipeServerStream objet.
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 ()
- Attributs
Exceptions
Une connexion de canal a déjà été établie.
- ou -
La poignée de canal n’a pas été définie.
Le canal est fermé.
La connexion de canal a été interrompue.
Exemples
L’exemple suivant illustre une méthode permettant d’envoyer une chaîne d’un processus parent à un processus enfant à l’aide de canaux nommés. Cet exemple crée un NamedPipeServerStream objet dans un processus parent. Cet objet a une PipeDirection valeur de Out, qui bloque ensuite jusqu’à ce qu’un NamedPipeClientStream objet établisse une connexion à l’objet NamedPipeServerStream . Cet exemple fait partie d’un exemple plus large fourni pour les classes et NamedPipeServerStream les 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
Remarques
L’appel de cette méthode entraîne le blocage de l’objet NamedPipeServerStream jusqu’à ce qu’un client se connecte.