【问题标题】:iphone - Get host name by IP addressiphone - 通过 IP 地址获取主机名
【发布时间】:2012-08-03 20:45:34
【问题描述】:

我的本​​地 wifi 网络 (192.168.1.100-105) 中有一个 IP 地址列表。如何获取设备名称?例如“我的台式电脑”。像 Fing 这样的应用程序可以做到。

我找到了一些例子:

iPhone Tip: No NSHost

How to get Domain Name of ipAddress and ipAddress from Domain Name in objective-c

但看起来它们只适用于来自互联网的收件人,而不是来自本地网络的收件人。

谢谢!

【问题讨论】:

  • 你见过this吗?
  • 谢谢!但看起来它只适用于 mac os,而不适用于 iOS。
  • 嗨@user1575129,你找到你要找的东西了吗?我需要同样的东西,但我还想不通
  • 你成功了吗?
  • @Bhumit - 你找到方法了吗?

标签: iphone objective-c ios network-programming hostname


【解决方案1】:

您可以使用三种主要协议来获取有关本地网络上设备的信息:Bonjour、NetBIOS 和 UPnP。其中只有第一个在 iOS 中具有内置支持。因此,您将不得不搜索库或编写自己的其他两个实现。

【讨论】:

    【解决方案2】:

    如果设备名称是指 iOS 设备的 UDID(唯一设备标识符),则访问该设备违反了拟议的美国互联网隐私法。如果您的应用尝试获取 UDID,它可能会被应用商店拒绝。如果您想跟踪运行您的应用程序的设备,您可以使用一些虚拟 UDID 生成器,如下所示:SecureUDID

    如果您只是想要一些唯一标识符来识别网络上的某些设备,您可以尝试读取 iDevice 上网络接口的 mac 地址。但这样做可能/可能不会违反 Apple 的指导方针。

    无论哪种方式,Apple 都严重反对尝试识别用户设备的应用程序(除非它们是链接中的虚拟 UDID)。所以要非常确定你的目标是什么。

    但有一个免责声明..如果您的应用不是针对在美国销售的,那么访问 UDID 属于 Apple 指南的灰色(阅读不清楚)区域。

    【讨论】:

    • 感谢您的回答,但我什至没有提到 UDID,我正在网络中寻找名称,例如“我的 iPhone”
    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2012-04-12
    • 2014-04-12
    相关资源
    最近更新 更多