首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以通过cmd来ping IP,但不能使用ping ping功能。

我可以通过cmd来ping IP,但不能使用ping ping功能。
EN

Stack Overflow用户
提问于 2022-08-05 18:11:20
回答 2查看 33关注 0票数 0

我能够使用以下代码使用ping r来平平IP:

代码语言:javascript
复制
ping("10.0.4.101")

但是,我不能用以下代码使用ping r来平另一个IP:

代码语言:javascript
复制
ping("10.151.2.101")

即使我能够通过cmd来ping 10.151.2.101:

任何建议都将不胜感激,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-08-05 18:53:47

一些调试表明,如果响应时间太短,或者区域设置不是英语,pingr就无法工作。

代码语言:javascript
复制
ping <- function (destination, continuous = FALSE, verbose = continuous, 
  count = 3L, timeout = 1) 
{
  if (!continuous && verbose) {
    stop("'!continuous' && 'verbose' does not work currently")
  }
  os <- ping_os(destination, continuous, count, timeout)
  status <- run(os$cmd[1], os$cmd[-1], error_on_status = FALSE)
  output <- strsplit(status$stdout, "\r?\n")[[1]]
  if (!continuous) {
    timings <- grep(os$regex, output, value = TRUE, perl = TRUE)
    times <- sub(os$regex, "\\1", timings, perl = TRUE)
    res <- as.numeric(times)
    length(res) <- count
    res
  }
  else {
    invisible()
  }
}

timings使用以下正则表达式进行评估:

代码语言:javascript
复制
os$regex
[1] "^.*time=(.+)[ ]?ms.*$"

显然,time<1ms不会工作,因为grep正在寻找time=问题注册了。

票数 1
EN

Stack Overflow用户

发布于 2022-08-05 18:51:00

如果pingr没有交付,我将直接将命令发送到shell:

代码语言:javascript
复制
system('ping("10.151.2.101")')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73253786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档