【问题标题】:How do I resolve and IP Address from a Host Name on iOS如何从 iOS 上的主机名解析 IP 地址
【发布时间】:2012-08-04 10:07:26
【问题描述】:

我需要从 iOS 中的主机名解析 IP 地址。我知道使用 NSHost 这很简单,但是 NSHost 解析功能似乎只适用于 OSX。

提前致谢。

【问题讨论】:

标签: iphone ios ip hostname resolve


【解决方案1】:

像这样:

struct hostent *host_entry = gethostbyname("stackoverflow.com");
char *buff;
buff = inet_ntoa(*((struct in_addr *)host_entry->h_addr_list[0]));

buff 变量现在包含一个 IP 地址...

【讨论】:

  • 很好的答案。谢谢你。然而,像这样的语法会让小猫宝宝哭泣。为什么 C 人必须让一切都变得如此神秘,这超出了我的理解。说真的,hostent 作为一个结构......如果在末尾添加一个额外的 -ry 会杀死他们吗?
  • 实际上,这段代码对我来说看起来“很容易阅读”,我从没想过它对某人来说可能是“神秘的”。顺便说一句,当我看到客观的 C 代码时——这对我来说也很神秘,但不会太久;)
  • 使用上面的代码时,我的应用程序无法编译,并在 buff = ... "取消引用指向不完整类型的指针" 行上出现警告。任何想法如何解决这个问题?
  • 想要使用这个方案的人,记得要包含这两个头文件:#include #include
  • inet_ntoais not IPv6 compatiable.。请改用inet_ntopThis link 表示 inet_ntoa 认为已弃用。
猜你喜欢
  • 1970-01-01
  • 2013-03-25
  • 2014-02-26
  • 2015-10-21
  • 2019-09-29
  • 2011-03-12
  • 2013-11-19
  • 2014-10-13
  • 2011-01-10
相关资源
最近更新 更多