Java中ping ip工具类

Java实现网络Ping功能 如果目标主机在指定的超时时间内响应了请求,我们计算Ping的响应时间并输出成功的消息。Ping是一种常用的网络工具,用于测试主机之间的连通性和延迟。首先,我们需要使用Java的网络编程API来发送ICMP协议的请求并接收响应。在上述代码中,我们首先指定要Ping的主机名或IP地址,然后设置超时时间。请注意,由于Ping操作依赖于底层操作系统的支持,因此在某些情况下,即使主机是可达的,方法获取主机的网络地址,并输出正在Ping的目标主机信息。然后,我们记录Ping开始的时间,并使用。在运行上述程序时,请将。 阅读详情

注明转载:https://www.cnblogs.com/thcy1314/p/11832983.html

package com.v.photos.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

/**
 * @Author: 孙创业
 * @Date:2019/10/29 18:13
 */
public class PingUtil {
    private static Logger logger = LoggerFactory.getLogger(PingUtil.class);

    /**ping  ipaddress 完整返回信息*/
    public static String executeLinuxCmd(String ipAddress, int pingTimes, int timeOut) {
        Runtime run = Runtime.getRuntime();
        String pingCommand;
        try {
            String osName = System.getProperty("os.name");
            if(osName.contains("Windows")){
                pingCommand = "ping " + ipAddress + " -n " + pingTimes    + " -w " + timeOut;
            }else{
                pingCommand = "ping " + " -c " + "4" + " -w " + "2 " + ipAddress;
            }
            Process process = run.exec(pingCommand);
            InputStream in = process.getInputStream();
            BufferedReader bs = new BufferedReader(new InputStreamReader(in, Charset.forName("GBK")));
            StringBuffer out = new StringBuffer();
            String content = null;
            while ((content = bs.readLine()) != null) {
                out.append(content + "\n");
            }
            in.close();
            process.destroy();
            return out.toString();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**ping  ipaddress 完整返回true在线 false离线*/
    public static boolean ping(String ipAddress, int pingTimes, int timeOut) {
        BufferedReader in = null;
        String pingCommand;
        Runtime r = Runtime.getRuntime();
        String osName = System.getProperty("os.name");
        if(osName.contains("Windows")){
            pingCommand = "ping " + ipAddress + " -n " + pingTimes    + " -w " + timeOut;
        }else{
            pingCommand = "ping " + " -c " + "4" + " -w " + "2 " + ipAddress;
        }
        try {
            Process p = r.exec(pingCommand);
            if (p == null) {
                return false;
            }
            in = new BufferedReader(new InputStreamReader(p.getInputStream()));
            int connectedCount = 0;
            String line;
            while ((line = in.readLine()) != null) {
                connectedCount += getCheckResult(line,osName);
            }
            return connectedCount >= 2 ? true : false;
        } catch (Exception ex) {
            ex.printStackTrace(); //出现异常则返回假
            return false;
        } finally {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    private static int getCheckResult(String line,String osName) {
        if(osName.contains("Windows")){
            if(line.contains("TTL=")){
                return 1;
            }
        }else{
            if(line.contains("ttl=")){
                return 1;
            }
        }
        return 0;
    }

    public static void main(String args[]) {
        //String ping = executeLinuxCmd("10.3.149.27", 2, 1);
        String ping = executeLinuxCmd("10.4.8.144", 2, 1);
        System.out.println(ping);

        //boolean ping1 = ping("10.3.149.27", 2, 1);
        boolean ping1 = ping("10.4.88.144", 2, 1);
        System.out.println("盒子IP地址:" + "10.4.8.144" + (ping1 ? "在线" : "下线"));
    }
}
java_PING工具 PING工具 阅读详情

相关推荐

Java实现命令行中的Ping

Ping是一种常用的网络测试工具,在命令行中使用它可以检查与目标主机的网络连通性。本文将介绍如何使用Java编写一个简单的程序来实现Ping的功能。需要注意的是,由于Ping操作需要发送和接收网络数据包,因此需要具备相应的网络权限。如果目标主机可达,我们打印出Ping成功的信息,并计算Ping的时延。最后,如果目标主机不可达,则打印出请求超时的信息。在上面的代码中,我们首先指定了要Ping的目标主机,可以是域名或IP地址。接下来,我们打印出目标主机的IP地址,并记录当前时间作为Ping的开始时间。

HackLogic的博客 669

Java代码ping ip工具类

package com.v.photos.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.Charset; /** * @Author.

猪之仆的博客 714

java中ping命令ping工具类(循环ping)

java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。 该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。 ping是一个DOS命令,一般用于检测网络通或不通 ,也叫时延,其值越大,速度越慢。 PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所 希望的ICMP echo (ICMP回声应答)。

java代码ping服务IP工具类(Windows,Linux环境)

public class PingIpUtils { private static Logger logger = LoggerFactory.getLogger(PingIpUtils.class); /** * @param ipAddress ip地址 * @param pingTimes 次数(一次ping,对方返回的ping的结果的次数)

下一个奇迹 5350

JPing:适用于Java的ICMP Ping实用程序

Java Ping 概述 这是一个简单的工具,可让您查看是否可以通过ICMP ping而不是Java随附的TCP方法访问远程计算机: InetAddress . getByName(ip) . isReachable(timeout); 在某些Windows机器上的实例中,我注意到使用上述Java API的一些错误读物。 JPing仅适用于Windows计算机,因为在端口7被阻塞时会出现错误的读数; 因此,ICMP不是默认方法,这是“ ping”使用的方法。 如果是在Mac或Linux上,则Java的API在所有情况下都可以使用。 为什么 该工具的主要用途是如果您必须按特定顺序启动或关闭网络(示例关闭顺序:工作站然后是服务器,然后是域控制器,然后是RAID和交换机)。 只需对每个硬件执行ping操作,然后决定需要做些什么。 用 由于该方法是静态的,因此只需使用以下调用,其中host是

Java 工具类 ping Ip 是否通

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

java 代码ping ip地址,Java代码ping ip工具类

package com.v.photos.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;i...

weixin_29515317的博客 178

开源:AI+无人机巡检系统项目调研

本文系统梳理了主流开源无人机巡检技术栈,涵盖飞控系统(PX4/ArduPilot)、地面站软件(QGroundControl)、AI视觉识别(VisDrone/MPID/CPLID数据集)、三维重建(OpenDroneMap/COLMAP)和仿真模拟(AirSim/Gazebo)五大领域。通过对比各项目的技术特点、开发语言、开源协议及商用友好度,为无人机巡检产品开发提供完整的技术选型参考。重点推荐PX4飞控、DroneKit开发API等商用友好项目,同时分析了GPL/AGPL协议项目的开源要求。

lovehu6686的博客 2447

java ping类_Java代码ping ip工具类

packagecom.v.photos.utils;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importja...

weixin_39665992的博客 277

大模型和任务型对话系统如何结合

三种方法都是基于prompt1.prompt中定义大量可分类的domain标签,每种标签含有的样例。走对话系统nlu常规步骤,domain分类,意图分类,slot提取等。缺点:需要很复杂的prompt,写的未必完善。需要多次调用llm2.prompt中定义每种query下可以调用的functioncall。3.也是基于prompt,可以管理对话主题,实现更丰富的话题流转。面向某个具体领域,没有细分的domain类别。

qq_29837229的博客 2450

全面解析:时延扩展与相干带宽、多普勒扩展与相干时间——无线通信基础

时延扩展与相干带宽 多径时延扩展与多径衰落 接收机所接收到的信号是通过不同的直射、反射、折射等路径到达接收机。由于电波通过各个路径的距离不同, 因而各条路径中发射波的到达时间不同,造成多径时延扩展。距离不同所以到达接收机的相位也不相同,不同相位的多个信号在接收端叠加, 如果同相叠加则会使信号幅度增强, 而反相叠加则会削弱信号幅度。 这样,接收信号的幅度将会发生急剧变化,就会产生多径衰落。 ...

king阿金 4万+

PING ip 工具类

java Ping Ip工具方法package com.newsoft.param.util;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;import org.slf4j.Logger; import or

洋葱花瓣的专栏 641

详解机器人标定

这里是机器人在取料之前,先把自己的角度补正到与 物料当前角度一致,到(X’,Y’)位置处,然后移动 CDx,Cdy,与物料位置也重合,然后去取料。可以使用实物标定,机器人抓住工件摆放9个位置,得到9个机械坐标,相机也得到9个像素坐标,(机器人每次需要回到固定位置拍照),然后标定。(X0,Y0)为旋转中心, (X1,Y1)及(X2,Y2)为工件在视野中旋转角度a的前后坐标,(Xt,Yt)为两点连线的延长。(rx0, ry0)为旋转中心,( x, y)为被旋转的点,(x0,y0)旋转后的点。

weixin_56819992的博客 7628

java 判断能否ping通_java代码实现判断是否能ping通

package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.UnknownHostException;pub...

weixin_39619270的博客 335

PCL 平面点云的凹多边形边界提取【2025最新版】

平面点云的凹多边形边界提取及边界轮廓线绘制。博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 7183

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

Robot_PLC_HMI_Automation 4577

ping 端口 java_[Java]ping或扫描端口的工具类

importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintStream;importjava.net.InetSocketAddress;importjava.net.Socket;importjava.util.ArrayList...

weixin_33483080的博客 325

【DL经典回顾】距离度量大汇总(7-余弦距离(Cosine Distance))

余弦距离(Cosine Distance)衡量的是两个向量在方向上的差异性,而不是在大小上的差异。

悦学共鸣,温柔以待,汇聚光芒,共同成长 2576

java代码实现判断是否能ping通

package socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.UnknownHostExcep...

l8947943的博客 3219

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 366

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android下ping的简单工具类

通过ping获取到返回字符串之后截取信息得到自己想要的数据。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URI; import java.util.regex.Pattern; import android.support.v4.util.ArrayMap; /** *

蛰伏--当你不够强大时,就不要放弃努力 2007

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

网络(2) : Java 实现 ping 功能

参考 :https://www.it1352.com/1518049.html import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.exception.ExceptionUtils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.InetAddress; /** * @Auther: liyue * .

Lxinccode的博客 1176

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java代码实现端口是否ping通

案例代码: import cn.hutool.core.net.NetUtil; import java.net.URI; import java.net.URISyntaxException; public JSONObject ping() { //获取ip String ip= "127.0.0.1"; boolean ping = false; try { //根据配置的中心端服务ip和端口号,

榔娃 2410

测试ping和telnet 工具类

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketException; import org.apache.commons.lang.String...

zz_xyz的博客 1596

Pinger

import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.text.MessageFormat;import java.util.ArrayList;import java.util.List;public...

weixin_34061555的博客 190

Java调用ping命令

[code="java"]package cn.com.songjy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ping { public static void main(String[] args) ...

sjy_2010的专栏 679
上一篇: Java中byte数组和文件的互转方式
下一篇: Java读写CSV文件以及解决split分割单元格内英文逗号的问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值