TsgcTCPClient › メソッド › Connect

Connect メソッド

TCP 接続を同期的に開き、ソケットが接続されるかタイムアウトが経過するまで呼び出し元をブロックします。

構文

function Connect(const aTimeout: Integer = 10000): Boolean;

パラメータ

名前タイプ説明
aTimeoutconst Integer接続がアクティブになるまで待機する最大時間(ミリ秒)。デフォルトは 10000(10秒)。

戻り値

タイムアウト内にTCPソケットが確立された場合はTrue、それ以外はFalse。(Boolean)

解説

Connect は Active := True を設定するのをブロックする対応物です。内部で Active を設定し、TCP ハンドシェイクが完了するかタイムアウトが切れるまで内部イベントで待機します。WebSocket クライアントとは異なり HTTP アップグレードステップはないため、生のソケット (および TLS が有効な場合は TLS ネゴシエーション) が確立されるとすぐにメソッドが返ります。クライアントがすでに接続されている場合、メソッドはすぐに True を返します。関数が True を返したら、OnConnect を待たずにすぐに WriteData を呼び出しても安全です。セカンダリスレッドから接続するノンブロッキング呼び出しが必要な場合は、代わりに Start を使用してください。

使用例


oClient := TsgcTCPClient.Create(nil);
oClient.Host := '127.0.0.1';
oClient.Port := 5000;
if oClient.Connect(5000) then
  oClient.WriteData('Hello Server')
else
  ShowMessage('Connection failed');

メソッドに戻る