System.Net.Socket.TSocket.Connect

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure Connect(const Name, Address, Service: string; Port: Word); overload;
procedure Connect(const EndPoint: TNetEndpoint); overload;

C++

void __fastcall Connect(const System::UnicodeString Name, const System::UnicodeString Address, const System::UnicodeString Service, System::Word Port)/* overload */;
void __fastcall Connect(const TNetEndpoint &EndPoint)/* overload */;

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
System.Net.Socket.pas
System.Net.Socket.hpp
System.Net.Socket TSocket


説明

指定されたエンドポイントへの接続を確立します。

直接接続を確立するには、ソケットの種類RAWRDMSEQTCP のいずれかでなければなりません。ソケットの種類が UDP の場合、Connect では、指定されたアドレスへの接続を確立するのではなく、ソケットをそのアドレスにバインドしようとします。

ターゲット エンドポイントを指定するには、パラメータの次の組み合わせのいずれかを引数として渡す必要があります。

  • エンドポイントEndpoint)。
  • IP アドレス(Address)とサービス(Service)。Port として空のワードを渡してもかまいません。Service を使用してポートが決定されるからです。
  • IP アドレス(Address)とポート(Port)。Service として空の文字列を渡してもかまいません。そうでない場合は、指定されたサービス名を使用して、使用するポートが決定され、指定されたポートは無視されます。

例外

Connect を呼び出すと、次の例外が発生する可能性があります。

例外 Exception.Message シナリオ

ESocketError

ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'bind'

ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'connect'

ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'socket'

アドレスが指定されていません

  • ソケットのアドレスを決定するのに十分な情報が指定されませんでした。Connect でこの例外が発生するのは、NameAddress が両方とも空の文字列である場合です。

ソケットが既に開いています

  • 既に開いているソケットを接続することはできません。前に次のいずれかのメソッドを呼び出した結果、ソケットが開かれたと考えられます。

関連項目