NamedPipeClientStream.Connect 方法

定义

连接到等待的服务器。

重载

Connect(TimeSpan)

在指定的超时期限内连接到正在等待的服务器。

Connect()

连接到具有无限超时值的等待的服务器。

Connect(Int32)

在指定的超时期间内连接到等待的服务器。

Connect(TimeSpan)

Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs

在指定的超时期限内连接到正在等待的服务器。

public:
 void Connect(TimeSpan timeout);
public void Connect (TimeSpan timeout);
member this.Connect : TimeSpan -> unit
Public Sub Connect (timeout As TimeSpan)

参数

timeout
TimeSpan

在连接超时之前等待服务器响应的时间量。

注解

请参阅 Connect(Int32) 备注。

适用于

Connect()

Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs

连接到具有无限超时值的等待的服务器。

public:
 void Connect();
public void Connect ();
member this.Connect : unit -> unit
Public Sub Connect ()

例外

已连接客户端。

示例

以下示例演示了使用命名管道将字符串从父进程发送到子进程的方法。 此示例在子进程中创建一个 NamedPipeClientStream 对象,然后该对象连接到本地计算机上的管道。 可以在 类中看到 NamedPipeServerStream 服务器示例。 此示例是为 NamedPipeServerStreamNamedPipeClientStream 类提供的更大示例的一部分。

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

class PipeClient
{
    static void Main(string[] args)
    {
        using (NamedPipeClientStream pipeClient =
            new NamedPipeClientStream(".", "testpipe", PipeDirection.In))
        {

            // Connect to the pipe or wait until the pipe is available.
            Console.Write("Attempting to connect to pipe...");
            pipeClient.Connect();

            Console.WriteLine("Connected to pipe.");
            Console.WriteLine("There are currently {0} pipe server instances open.",
               pipeClient.NumberOfServerInstances);
            using (StreamReader sr = new StreamReader(pipeClient))
            {
                // Display the read text to the console
                string temp;
                while ((temp = sr.ReadLine()) != null)
                {
                    Console.WriteLine("Received from server: {0}", temp);
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes
Imports System.Security.Principal

Class PipeClient

    Shared Sub Main(ByVal args As String())

        Dim pipeClient As New NamedPipeClientStream("localhost", _
                    "testpipe", PipeDirection.In, PipeOptions.None)

        ' Connect to the pipe or wait until the pipe is available.
        Console.WriteLine("Attempting to connect to the pipe...")
        pipeClient.Connect()

        Console.WriteLine("Connect to the pipe.")
        Console.WriteLine("There are currently {0} pipe server instances open.", _
                          pipeClient.NumberOfServerInstances)

        Dim sr As New StreamReader(pipeClient)
        Dim temp As String

        temp = sr.ReadLine()
        While Not temp Is Nothing
            Console.WriteLine("Received from server: {0}", temp)
            temp = sr.ReadLine()
        End While
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

注解

此方法调用 Connect(Int32) 具有无限超时值的方法。

此方法等待管道实例可用。 Connect可能在 从 NamedPipeServerStream 对象调用 之前WaitForConnection返回 ,但在WaitForConnection返回之前Connect不会返回。

在对象连接后 NamedPipeClientStream 、服务器调用 WaitForConnection之前写入管道的任何数据都将在调用 WaitForConnection后可供服务器使用。

适用于

Connect(Int32)

Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs
Source:
NamedPipeClientStream.cs

在指定的超时期间内连接到等待的服务器。

public:
 void Connect(int timeout);
public void Connect (int timeout);
[System.Security.SecurityCritical]
public void Connect (int timeout);
member this.Connect : int -> unit
[<System.Security.SecurityCritical>]
member this.Connect : int -> unit
Public Sub Connect (timeout As Integer)

参数

timeout
Int32

在连接超时之前等待服务器响应的毫秒数。

属性

例外

未能在指定的 timeout 时期内连接到服务器。

timeout 小于 0 且未设置为 Infinite

已连接客户端。

服务器连接至其他客户端并且超时期间已过期。

注解

此方法等待管道实例可用。 Connect可能在 从 调用 之前WaitForConnection返回 ,但在WaitForConnection返回之前Connect不会NamedPipeServerStream返回。 将 参数设置为 timeoutInfinite 指定无限超时值。

在对象连接后 NamedPipeClientStream 、服务器调用 WaitForConnection之前写入管道的任何数据都将在调用 WaitForConnection后可供服务器使用。

适用于