System.Net.Socket.TSocket.InitSocket

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

Delphi

function InitSocket(const Name, Address, Service: string; Port: Word; Client: Boolean; Broadcast: Boolean = False): sockaddr_in;

C++

sockaddr_in __fastcall InitSocket(const System::UnicodeString Name, const System::UnicodeString Address, const System::UnicodeString Service, System::Word Port, bool Client, bool Broadcast = false);

プロパティ

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


説明

指定されたパラメータに基づいて構成された sockaddr_in 構造体を返します。

InitSocket によるソケット アドレスの決定は、次のように、指定された引数によって異なります。

  • Name が空の文字列でない場合、InitSocket では、指定された文字列の DNS ルックアップを実行します。
  • Address が空の文字列でない場合、InitSocket ではそのアドレスを使用します。Address は IPv4 アドレスでなければなりません。たとえば、"192.0.2.4" です。
  • ソケットがブロードキャスト ソケット(BroadcastTrue)またはサーバー ソケット(ClientFalse)の場合は、アドレスを指定する必要はありません。

InitSocket によるソケット ポートの決定も、次のように、指定された引数によって異なります。

  • Service が空の文字列でない場合、InitSocket では、指定されたサービス名に一致するポートを検索します。
  • 上記以外の場合、InitSocket では、Port パラメータに指定された値を使用します。

例外

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

例外 Exception.Message シナリオ

ESocketError

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

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

関連項目