好的,所以我试图编写一个可与​​硬件(路由器)配合使用的应用程序。我的应用程序的第一部分显然是要检测设备是否在网络上(在WAN端还是在LAN端,因为可以从两侧访问路由器,无论您是连接到下游路由器还是直接连接到下游路由器)。我正在尝试通过应用程序访问的路由器)-我希望这是有道理的。

我想用来检测设备是否在网络上的两个选项是:

  • 因为我知道网络上设备的名称,所以我可以让该应用程序编译连接到网络的所有设备的 list ,并检查我所寻找的设备的名称是否是其中的任何一个?
  • 第二个选项意味着,仅当应用程序连接到路由器的LAN侧时,应用程序才能自动连接,因此不如用户必须输入他们尝试访问的路由器ID的IP那样有利。从WAN端。我要做的方法就是简单地以某种方式通过分配获得路由器的默认网关,然后向它发送一个API请求,看看它是否答复(如果答复,我可以假定我已连接到正确的设备)。

  • 综上所述,我要么需要一种方法来获取连接到我所在网络的所有设备的名称+ IP(这是首选解决方案),要么需要一种方法来获取默认网关(路由器IP地址)。

    我对此很陌生,所以请为我提供更多信息,以便我理解。如果您能真正解释如何实现此功能,我将不胜感激,也许是这样,以便我可以将其打印在控制台中,然后将其实现到我的程序中并做我需要做的事情。

    最佳答案

    如果从DHCP获得IP,则获取路由器IP很容易,因为默认路由器是路由器的IP地址。

    route print | find " 0.0.0.0"
    

    关于objective-c - 如何获取网络中所有设备的名称和IP或获取连接的路由器IP?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29331227/

    10-12 16:46