NamedPipeClientStream.Connect メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
待機中のサーバーに接続します。
オーバーロード
Connect(TimeSpan) |
指定されたタイムアウト期間内に待機中のサーバーに接続します。 |
Connect() |
無限のタイムアウト値で待機中のサーバーに接続します。 |
Connect(Int32) |
指定したタイムアウト期限内に、待機中のサーバーに接続します。 |
Connect(TimeSpan)
指定されたタイムアウト期間内に待機中のサーバーに接続します。
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()
無限のタイムアウト値で待機中のサーバーに接続します。
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)
指定したタイムアウト期限内に、待機中のサーバーに接続します。
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 は戻りません。 パラメーターを timeout
に Infinite 設定して、無限のタイムアウト値を指定します。
オブジェクトが接続した後 NamedPipeClientStream 、サーバーが を呼び出 WaitForConnectionす前にパイプに書き込まれたデータは、 の呼び出し WaitForConnectionの後にサーバーで使用できるようになります。
適用対象
.NET