Share via


NamedPipeClientStream.Connect 方法

定義

連接到等待伺服器。

多載

Connect(TimeSpan)

線上到指定逾時期間內的等候伺服器。

Connect()

以無限的逾時值連接至等候中伺服器。

Connect(Int32)

在指定的逾時限制期間內,連接到等候中的伺服器。

Connect(TimeSpan)

來源:
NamedPipeClientStream.cs
來源:
NamedPipeClientStream.cs
來源:
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()

來源:
NamedPipeClientStream.cs
來源:
NamedPipeClientStream.cs
來源:
NamedPipeClientStream.cs

以無限的逾時值連接至等候中伺服器。

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

例外狀況

已連接用戶端。

範例

下列範例示範使用命名管道將字串從父進程傳送至子進程的方法。 這個範例會在 NamedPipeClientStream 子進程中建立 對象,然後連接到本機電腦上的管道。 您可以在 類別中看到 NamedPipeServerStream 伺服器範例。 這個範例是 針對和 NamedPipeClientStream 類別提供之較大範例的NamedPipeServerStream一部分。

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)

來源:
NamedPipeClientStream.cs
來源:
NamedPipeClientStream.cs
來源:
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之後提供給伺服器使用。

適用於