Navy1228 2023-07-30 21:46 采纳率: 44.8%
浏览 7
已结题

为何用Runtime.getRuntime().exec ping ip,无论什么情况都返回 true

请教一下,为什么使用 Runtime.getRuntime().exec("ping -c 1 "+ ipAddress).waitFor() 时,哪怕是输入无存在的域名,他总是返回 true

img

而我又输入内网 ip,它却返回 false【我已经连接了内网,不是直接返回 false,而是超时 5 秒后还未连通导致的】

我一开始用的【InetAddress.getByName(ipAddress).isReachable(1500)】这个方法,但是一直是 false,查了下是授权问题,我搞不来,就改用的 Runtime 这种方式。

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-07-30 21:48
    关注

    因为你的代码返回的结果是ping命令是否正确运行,而不是ping命令是否返回是否接收到对方返回,所以总是true

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月2日
  • 修改了问题 7月30日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序