NamedPipeServerStream.WaitForConnection Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Espera a que un cliente conecte con este objeto NamedPipeServerStream.
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 ()
- Atributos
Excepciones
Ya se ha establecido una conexión de canalización.
O bien
La canalización no se estableció.
La canalización está cerrada.
Se ha interrumpido la conexión de canalización.
Ejemplos
En el ejemplo siguiente se muestra un método para enviar una cadena de un proceso primario a un proceso secundario mediante canalizaciones con nombre. En este ejemplo se crea un NamedPipeServerStream objeto en un proceso primario. Este objeto tiene un PipeDirection valor de Out, que luego se bloquea hasta que un NamedPipeClientStream objeto establece una conexión con el NamedPipeServerStream objeto . Este ejemplo forma parte de un ejemplo más grande proporcionado para las NamedPipeServerStream clases y 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
Comentarios
Llamar a este método hace que el NamedPipeServerStream objeto se bloquee hasta que se conecte un cliente.