package com.whqxj.messagesafe;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class PingIp
{
public String ping(String ip)
{
String rsStr = "";
if (isPing(ip)) {
System.out.println("isping成功!");
String allStr = execPing(ip);
String[] allStrArr = allStr.split("\r\n");
String lastline = allStrArr[(allStrArr.length - 1)];
String[] timeArr = lastline.split("=");
String time = timeArr[(timeArr.length - 1)];
time = time.replace("ms", "");
time = time.replace(" ", "");
rsStr = time;
} else {
System.out.println("isping失败!");
rsStr = "-1";
}
return rsStr;
}
public boolean isPing(String ip)
{
boolean isFlow = false;
try {
isFlow = InetAddress.getByName(ip).isReachable(5000);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return isFlow;
}
public String execPing(String address)
{
String rsStr = "";
try {
Process p = Runtime.getRuntime().exec("ping " + address);
byte[] msg = new byte[''];
int len;
while ((len = p.getInputStream().read(msg)) > 0)
{
int len;
System.out.print(new String(msg, 0, len));
rsStr = rsStr + new String(msg, 0, len);
}
String rs = "\n";
byte[] rb = { 10 };
OutputStream os = p.getOutputStream();
os.write(rb);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
return rsStr;
}
public static void main(String[] args) {
PingIp pingIp = new PingIp();
String msg = pingIp.ping("192.168.0.12");
System.out.println(msg);
}
}
分享到:
相关推荐
java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...
java 在win或者liunx上ping ip看网络是否通代码java 在win或者liunx上ping ip看网络是否通代码java 在win或者liunx上ping ip看网络是否通代码java 在win或者liunx上ping ip看网络是否通代码java 在win或者
通过参数 ip 判断网络是否连接通常,public static boolean getPing(String ip){ // 方法一 最常用的 PING 方法 Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Process process = null; ...
主要介绍了Java判断主机是否能ping通代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Ping工具主要用于测试数据包是否能够通过网络到达特定的主机,并测量往返时间(Round-Trip Time, RTT),即数据包从发送端到接收端再返回到发送端的时间。 在描述中,“java实现ping.pdf”重申了文档的主题,强调了...
ping 在Java中Linux中执行ping的服务器-客户端实现==================================系统要求运行该应用程序的系统必须已安装Java 8。==================================编译下载项目。 如果要从那里运行它,请...
运行程序后,控制台会输出结果,显示通或者不通,也会把结果输出到C盘的result.txt,里面包括每个IP是否通,并且有哪一个日期时间去ping的。 在WINDOWS平台上才可以运行。需要JDK环境,建议使用eclispe,类名是Test...
### 解决“能PING通网关、防火墙、DNS,就是不能上网”的方法 #### 问题背景 在日常生活中,不少用户遇到了一个看似棘手的问题:即能够成功PING通网关、防火墙以及DNS服务器,并且可以正常使用如QQ等即时通讯软件...
而ping作为一个小软件,其功能比较简单,就是尝试发送一个小小的消息到目标机器上,判断目标机器是否可达,其实也就是判断目标机器网络是否能连通。 ping命令使用的是网络层的ICMP协议。ICMP协议和IP协议都属于网络...
一旦发现无法ping通的设备,可以通过邮件、短信、Syslog或其他方式发送告警信息。在Java中,可以使用JavaMail API发送邮件,使用SMSSender类发送短信,或者使用第三方库如Log4j发送日志到Syslog服务器。 ### 结论 ...
通过学习和分析这样的源代码,开发者不仅可以掌握Socket编程的基本技巧,还能深入理解网络协议的工作原理,这对于网络编程和网络故障排查都是非常有价值的。如果你对这个主题有兴趣,可以通过邮件zhaquanmin@163.com...
在描述中提到的"监测指定IP地址通断情况,记录日志,可报警",意味着该程序不仅执行基本的ping测试,还具有更高级的功能。首先,它会定期对一个或多个预设的IP地址进行ping操作,以确定这些地址是否可以到达。如果IP...
其中中文是根据环境本地化的,有些机器上的中文部分是英文,但不论是中英文环境,后面的“”字样总是固定的,它表明一次ping的结果是能通的。如果这个字样出现的次数等于10次即测试的次数,则说明127.0.0.1是百分之...
### 在Android中调用ping命令来获取网络通断 #### 概述 在移动应用开发过程中,特别是Android应用开发中,经常会遇到需要检测设备当前网络连接状态的需求。一种常见的做法是通过发送`ping`请求来判断设备是否能够...
问题描述:虚拟机服务已开启,网络适配器的连接方式已设为桥接模式,虚拟机ip和主机ip网段一致、“网关”“网卡”相同,...ping通效果如下图: 希望我的解决办法能够帮到你!如有疑问,欢迎留言! 作者:java2min
在Java开发中,SpringBoot框架以其轻量级和便捷性被广泛应用,而OkHttp3则是一个高效的HTTP客户端库,能够优化网络请求性能。本篇文章将深入探讨如何在SpringBoot项目中利用OkHttp3进行各种API调用,包括GET、POST...
Java 连接 MySQL 数据库及测试是否连接成功的方法 Java 连接 MySQL 数据库是 Java 程序设计中的一项基本操作,通过 JDBC(Java Database Connectivity)驱动程序实现连接 MySQL 数据库。本文将详细介绍 Java 连接 ...
在Java编程中,有时我们需要与操作系统进行交互,执行系统级别的命令,例如在控制台执行CMD命令或者通过SSH连接远程Linux服务器执行shell命令。这在自动化脚本、系统管理或者远程监控等场景中非常常见。本篇文章将...
本文将深入探讨如何用Java语言实现一个简单的Ping程序。 #### 二、程序结构 给定代码片段展示了一个基于Java NIO (Non-blocking I/O) 的Ping程序实现。该程序主要分为三个部分:`Target` 类用于表示Ping目标;`...