目次 - 3.関数 - 3.2名前解決 - SDLNet_ResolveHost

# SDLNet_ResolveHost

`int SDLNet_ResolveHost(IPaddress *address, const char *host, Uint16 port)`

address
  アドレスが代入されるポインタ. 呼ばれる前は何も設定されていなくてよいが, メモリが確保されている必要がある
host
  サーバに接続するためのホスト名またはIPアドレスの文字列. サーバになる場合はNULL. NULLのとき, 全てのネットワークインターフェースは接続のためにINADDR_ANYを使ってLISTEN状態になる
port
  サーバに接続する場合はサーバがLISTENしているポート番号. サーバになる場合はLISTENするポート番号. この関数を単なるドメイン名解決として使う場合は0にできる

文字列hostを解決し, 解決されたIPとポート番号portをIPaddress構造体のポインタに代入する. これがIPaddress構造体を設定する最もよい方法である. この関数はあらゆるソケットを実際に開くことはない. ソケットを開く関数の引数の準備のために使われる.

注意: この関数はhostとportをaddressのフィールドにネットワークバイト順で書き込む. 引数はシステムのバイト順で渡さなければならない. (これが問題になることはあまりない.)

戻り値: 成功のとき0, アドレスが解決できないなど失敗のとき-1で, address.hostにINADDR_NONEが代入される.

## サンプルコード

ポート1234の全てのインターフェースでLISTENする: ``

    // ポート1234のサーバのIPaddressを生成する
    IPaddress ipaddress;
    SDLNet_ResolveHost(&ipaddress, NULL, 1234);

"host.domain.ext"のポート1234に接続するクライアント: ``

    // ホスト名"host.domain.ext"のポート1234のIPaddressを生成する
    // これはクライアントで使われる
    IPaddress ipaddress;
    SDLNet_ResolveHost(&ipaddress, "host.domain.ext", 1234);

## 参照

SDLNet_ResolveIP, IPaddress

## 原文へのリンク

3.2.1 SDLNet_ResolveHost