`
huazx123
  • 浏览: 24395 次
文章分类
社区版块
存档分类
最新评论

JAVA PING是否能通

 
阅读更多

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命令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或者liunx上ping ip看网络是否通代码java 在win或者

    Java 工具类 ping Ip 是否通

    通过参数 ip 判断网络是否连接通常,public static boolean getPing(String ip){ // 方法一 最常用的 PING 方法 Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Process process = null; ...

    Java判断主机是否能ping通代码实例

    主要介绍了Java判断主机是否能ping通代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java实现ping.pdf

    Ping工具主要用于测试数据包是否能够通过网络到达特定的主机,并测量往返时间(Round-Trip Time, RTT),即数据包从发送端到接收端再返回到发送端的时间。 在描述中,“java实现ping.pdf”重申了文档的主题,强调了...

    ping:在Java中Linux中执行ping的服务器-客户端实现

    ping 在Java中Linux中执行ping的服务器-客户端实现==================================系统要求运行该应用程序的系统必须已安装Java 8。==================================编译下载项目。 如果要从那里运行它,请...

    自动ping Java 实现 ping 把要ping的IP放在C盘根目录ip.txt每行一个IP 结果会在C盘result.txt中 自动运维

    运行程序后,控制台会输出结果,显示通或者不通,也会把结果输出到C盘的result.txt,里面包括每个IP是否通,并且有哪一个日期时间去ping的。 在WINDOWS平台上才可以运行。需要JDK环境,建议使用eclispe,类名是Test...

    解决“能PING通网关、防火墙、DNS,就是不能上网”的方法

    ### 解决“能PING通网关、防火墙、DNS,就是不能上网”的方法 #### 问题背景 在日常生活中,不少用户遇到了一个看似棘手的问题:即能够成功PING通网关、防火墙以及DNS服务器,并且可以正常使用如QQ等即时通讯软件...

    断网了 还能ping通127.0.0.1吗 ? 801 815

    而ping作为一个小软件,其功能比较简单,就是尝试发送一个小小的消息到目标机器上,判断目标机器是否可达,其实也就是判断目标机器网络是否能连通。 ping命令使用的是网络层的ICMP协议。ICMP协议和IP协议都属于网络...

    Java简单实现Ping功能.doc

    一旦发现无法ping通的设备,可以通过邮件、短信、Syslog或其他方式发送告警信息。在Java中,可以使用JavaMail API发送邮件,使用SMSSender类发送短信,或者使用第三方库如Log4j发送日志到Syslog服务器。 ### 结论 ...

    基于socket实现Ping功能的源代码

    通过学习和分析这样的源代码,开发者不仅可以掌握Socket编程的基本技巧,还能深入理解网络协议的工作原理,这对于网络编程和网络故障排查都是非常有价值的。如果你对这个主题有兴趣,可以通过邮件zhaquanmin@163.com...

    PINGtest_ping_

    在描述中提到的"监测指定IP地址通断情况,记录日志,可报警",意味着该程序不仅执行基本的ping测试,还具有更高级的功能。首先,它会定期对一个或多个预设的IP地址进行ping操作,以确定这些地址是否可以到达。如果IP...

    Android中实现ping功能的多种方法详解

    其中中文是根据环境本地化的,有些机器上的中文部分是英文,但不论是中英文环境,后面的“”字样总是固定的,它表明一次ping的结果是能通的。如果这个字样出现的次数等于10次即测试的次数,则说明127.0.0.1是百分之...

    在android 中调用ping命令 来获取网络通断

    ### 在Android中调用ping命令来获取网络通断 #### 概述 在移动应用开发过程中,特别是Android应用开发中,经常会遇到需要检测设备当前网络连接状态的需求。一种常见的做法是通过发送`ping`请求来判断设备是否能够...

    主机能ping通虚拟机,虚拟机ping不通主机

    问题描述:虚拟机服务已开启,网络适配器的连接方式已设为桥接模式,虚拟机ip和主机ip网段一致、“网关”“网卡”相同,...ping通效果如下图: 希望我的解决办法能够帮到你!如有疑问,欢迎留言! 作者:java2min

    java 调用okHttp3进行代码测试(SpringBoot项目))

    在Java开发中,SpringBoot框架以其轻量级和便捷性被广泛应用,而OkHttp3则是一个高效的HTTP客户端库,能够优化网络请求性能。本篇文章将深入探讨如何在SpringBoot项目中利用OkHttp3进行各种API调用,包括GET、POST...

    java连接mysql数据库及测试是否连接成功的方法

    Java 连接 MySQL 数据库及测试是否连接成功的方法 Java 连接 MySQL 数据库是 Java 程序设计中的一项基本操作,通过 JDBC(Java Database Connectivity)驱动程序实现连接 MySQL 数据库。本文将详细介绍 Java 连接 ...

    java控制台输入cmd命令, ssh远程linux shell命令, 并打印命令输出到控制台

    在Java编程中,有时我们需要与操作系统进行交互,执行系统级别的命令,例如在控制台执行CMD命令或者通过SSH连接远程Linux服务器执行shell命令。这在自动化脚本、系统管理或者远程监控等场景中非常常见。本篇文章将...

    Ping 程序的实现

    本文将深入探讨如何用Java语言实现一个简单的Ping程序。 #### 二、程序结构 给定代码片段展示了一个基于Java NIO (Non-blocking I/O) 的Ping程序实现。该程序主要分为三个部分:`Target` 类用于表示Ping目标;`...

Global site tag (gtag.js) - Google Analytics