我能够使用以下代码使用ping r来平平IP:
ping("10.0.4.101")但是,我不能用以下代码使用ping r来平另一个IP:
ping("10.151.2.101")即使我能够通过cmd来ping 10.151.2.101:

任何建议都将不胜感激,谢谢!
发布于 2022-08-05 18:53:47
一些调试表明,如果响应时间太短,或者区域设置不是英语,pingr就无法工作。
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使用以下正则表达式进行评估:
os$regex
[1] "^.*time=(.+)[ ]?ms.*$"显然,time<1ms不会工作,因为grep正在寻找time=,问题注册了。
发布于 2022-08-05 18:51:00
如果pingr没有交付,我将直接将命令发送到shell:
system('ping("10.151.2.101")')https://stackoverflow.com/questions/73253786
复制相似问题