【问题标题】:Objective C - Checking that IP Address is part of network目标 C - 检查 IP 地址是否是网络的一部分
【发布时间】:2018-11-16 08:58:30
【问题描述】:

如何在不搜索我连接的所有 IP 地址的情况下检查具有特定 IP 地址的设备是否仍然是我网络的一部分。是否可以直接 ping 连接硬件的 IP 地址?

【问题讨论】:

  • 为什么不直接向它响应的设备发送一些东西(即它是否响应 ping?)并查看它是否响应?

标签: ios objective-c ip-address


【解决方案1】:

IP 地址只是一个标识符,即一个数字。使用该号码,您可以尝试访问由您的网络基础设施(如网络路由器)分配给该号码的设备。

你说你有一些

我连接的 IP 地址

如果您已经使用 TCP、HTTP 或任何其他具有长时间运行连接的协议连接到设备的 IP 地址,最简单的方法就是检查该连接是否有效。如果您可以将所有连接存储在哈希表(或地图/字典)中并且搜索会非常快。

如果您没有真正连接,解决此问题的一个好方法是实施 ping/pong(又名ECHO)方案:当您发送包含一些数据的网络数据包(或请求)并期望该数据在合理的时间间隔内回复您。这可以基于ICMP 或您自己的自定义协议。

或者,您可以实施“心跳”方案(或保持活动状态,另请参见:https://serverfault.com/questions/361071/what-is-the-difference-between-keepalive-and-heartbeatDo I need to heartbeat to keep a TCP connection open?https://en.wikipedia.org/wiki/HTTP_persistent_connection),其中每个设备都会定期发送“我还活着”数据包为您服务.

【讨论】:

    猜你喜欢
    • 2012-01-25
    • 2017-09-02
    • 2020-03-22
    • 2017-05-05
    • 2021-06-20
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    相关资源
    最近更新 更多