我可以使用' 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查看我真正需要的内容。任何有关这方面的帮助将不胜感激。