次の方法で共有


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 が オブジェクトから呼び出される前 WaitForConnection に が NamedPipeServerStream 返される場合がありますが、 が 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 が から呼び出される前に WaitForConnectionNamedPipeServerStreamが返される場合がありますが、 が WaitForConnection 返されるまで Connect は戻りません。 パラメーターを timeoutInfinite 設定して、無限のタイムアウト値を指定します。

オブジェクトが接続した後 NamedPipeClientStream 、サーバーが を呼び出 WaitForConnectionす前にパイプに書き込まれたデータは、 の呼び出し WaitForConnectionの後にサーバーで使用できるようになります。

適用対象