【问题标题】:iOS SimplePing gives incorrect result at timesiOS SimplePing 有时会给出不正确的结果
【发布时间】:2014-07-22 19:56:43
【问题描述】:

要登录和访问我们 iOS 应用的各种功能,用户需要从他们的 iOS 设备连接到我们的 VPN 网络。该应用程序调用的网络服务也只能通过 VPN 访问。为了确定用户是通过 VPN 运行应用程序(在线模式)还是用户在 VPN 之外运行应用程序(离线),我们使用 Apple 的 SimplePing 类帮助程序 https://github.com/chrishulbert/SimplePingHelper。我们传递 Web 服务的主机名来进行 ping 调用。如果成功,我们断定用户在 VPN 上。如果 ping 失败,我们会断定用户不在 VPN 上,并给他一条消息说他需要连接到 VPN。

我们看到的问题是,即使用户在 VPN 上,有时我们也会出现 ping 失败,这会导致用户收到他缺乏连接的消息。如果用户再次尝试某些操作,则调用成功。

我们不确定是什么导致 ping 间歇性地失败并在几秒钟内尝试再次成功。有没有人遇到过这种问题?可能的原因和解决方法是什么?欢迎任何想法。

【问题讨论】:

  • 我查看了SimplePingHelper 类,我注意到有 1 秒超时,对你来说太短了吗?
  • 谢谢。我会尝试增加超时时间。

标签: ios vpn ping


【解决方案1】:

我们使用 SimplePing,我注意到有时它无法解析主机名(在 -(void)hostResolutionDone 中),甚至在它到达实际 ping 之前。我还没有弄清楚为什么,但我的解决方法是停止/重新启动 ping 服务。主机解析失败很少发生,因此它通常会在第二次出现时自行纠正。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 2017-12-14
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多