1

こんにちは、2 つの異なるローカル ネットワークに多くの iPad があり、各 iPad の IP アドレスに基づくローカル ドメインを Objective-C でプログラムで知りたいです。たとえば、ローカル ドメイン「project.local」に iPad があります。このドメインには 192.168.12.50 という多くの IP アドレスがあります。IOS デバイスは自動的に IP アドレスを取得します。

今、私は目的のCでプログラムでIPアドレスを知っているドメイン名「projet.local」を取得したいですか??

4

1 に答える 1

2

これを試してください(dreamlaxの回答https://stackoverflow.com/a/3575383/1758762に似ています):

struct addrinfo *results = NULL;
char hostname[NI_MAXHOST] = {0};

if ( getaddrinfo("192.168.12.50", NULL, NULL, &results) != 0 )
    return;

for (struct addrinfo *r = results; r; r = r->ai_next)
{
    if (getnameinfo(r->ai_addr, r->ai_addrlen, hostname, sizeof hostname, NULL, 0 , 0) != 0)
        continue; // try next one
    else
    {
        NSLog (@"Found hostname: %s", hostname);
        break;
    }
}

freeaddrinfo(results);
于 2013-03-22T13:42:39.427 に答える