使用目标c获取我的电脑的域名

时间:2016-01-27 05:37:53

标签: objective-c macos cocoa

我可以使用' Environment.UserDomainName'轻松获取域名。在.NET中,但我怎样才能在目标c上找到它?我正在使用Xcode 6为Mac OS开发一个小型可可应用程序。

我的电脑将连接到组织的局域网,我需要知道我所连接的网络的域名。我已经尝试了以下方法,利用NSHost类在提供IP时获取主机名。我通过了pc的IP,但它返回的IP不是Domain的主机名。

    -(void)GetHostName: (char*)DNSIP
  {
    int error;
    struct addrinfo hints;
    struct addrinfo *results = NULL;
    memset(&hints, 0, sizeof(hints));
    hints.ai_family = PF_UNSPEC;        
    hints.ai_protocol = IPPROTO_TCP;


    getaddrinfo(DNSIP, NULL, &hints, &results);
    for (struct addrinfo *r = results; r; r = r->ai_next)
    {
        char hostname[NI_MAXHOST] = {0};
        error = getnameinfo(r->ai_addr, r->ai_addrlen, hostname, sizeof hostname, NULL, 0 , 0);
        if (error != 0)
        {
            continue; // try next one
        }
        else
        {
            NSLog (@"Found hostname: %s", hostname);

            break;
        }
    }
    freeaddrinfo(results);

}

还附上了一个屏幕截图,通过目标c查看我真正需要的内容。任何有关这方面的帮助将不胜感激。

screenshot of network settings

0 个答案:

没有答案