`

网络状态监控

阅读更多

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * @功能:持续检测网络是否连通
 */

public class NetworkState implements Runnable {
 public static void main(String[] args) {
  NetworkState ns = new NetworkState();
  new Thread(ns).start();// 启动线程
 }

 // 判断网络状态
 public void isConnect() {
  Runtime runtime = Runtime.getRuntime();
  try {
   Process process = runtime.exec("ping " + "www.baidu.com");
   InputStream is = process.getInputStream();
   InputStreamReader isr = new InputStreamReader(is);
   BufferedReader br = new BufferedReader(isr);
   String line = null;
   StringBuffer sb = new StringBuffer();
   while ((line = br.readLine()) != null) {
    sb.append(line);
    // System.out.println("返回值为:"+line);
   }
   is.close();
   isr.close();
   br.close();

   if (null != sb && !sb.toString().equals("")) {
    String logString = "";
    if (sb.toString().indexOf("TTL") > 0) {
     // 网络畅通
     logString = "网络正常,时间 " + this.getCurrentTime();
     System.out.println(logString);
    } else {
     // 网络不畅通
     logString = "网络断开,时间 " + this.getCurrentTime();
     System.out.println(logString);
    }
    this.writeIntoLog(logString);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 // 获得当前时间
 public String getCurrentTime() {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
  String time = sdf.format(new Date());
  return time;
 }

 // 将信息写入日志文件
 public void writeIntoLog(String logString) {
  File file = null;
  FileWriter fw = null;
  BufferedWriter bw = null;
  try {
   file = new File("D:\\netWorkState.log");
   if (!file.exists()) {
    file.createNewFile();// 如果不存在该文件,则创建
    String sets = "attrib +H \"" + file.getAbsolutePath() + "\"";
    //Runtime.getRuntime().exec(sets);// 将日志文件隐藏
   }
   fw = new FileWriter(file, true);
   bw = new BufferedWriter(fw);
   fw.append(logString + "\r\n");// 换行
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    bw.close();
    fw.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }

 }

 @Override
 public void run() {
  while (true) {
   this.isConnect();
   try {
    Thread.sleep(5000); // 每隔5秒钟测试一次网络是否连通
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
  }
 }

}

分享到:
评论

相关推荐

    netstate.zip_netstate_visual c_实时监控_网络状态监控_网络监控系统

    1. **网络状态监控**:这是网络管理的核心功能之一,通过收集网络设备、服务器、应用程序等的运行数据,分析并展示网络的健康状况、性能和潜在问题。它包括但不限于监控网络流量、接口状态、错误统计、带宽利用率、...

    气象自动站网络状态监控电话自动通知报警系统

    国家级七要素自动气象观测站网络状态监控预警电话通知系统 一、简 介 自动站网络状态监控预警电话通知系统是为了实时监 控气象自动观测站与气象自动观测站数据接收服务器之间 网络的联通性而开发的。当气象自动...

    网络游戏-网络状态监控方法、设备及系统.zip

    在网络游戏领域,网络状态监控是确保游戏体验流畅性与稳定性的重要环节。本资料"网络游戏-网络状态监控方法、设备及系统.zip"包含了关于这一主题的详细内容,主要聚焦于网络状态监控的方法、所使用的设备以及整体...

    网络游戏-网络状态监控方法、装置、设备及计算机可读存储介质.zip

    标题中的“网络游戏-网络状态监控方法、装置、设备及计算机可读存储介质”指的是一个针对网络游戏的网络状态监控系统的技术方案。这个方案可能涉及到多个层面的技术细节,包括但不限于网络性能监测、故障检测、数据...

    Easyspy v2.1 网络状况监控工具

    Easyspy是一款网络入侵检测和流量实时监控软件。作为一个入侵检测系统,用来快速发现并定位诸如ARP攻击、DOS/DDOS、分片IP报文攻击等恶意攻击行为,帮助发现潜在的安全隐患。 Easyspy又是一款Sniffer软件,用来进行...

    大字体显示+真人语音报时+自动识别地区天气预报+网卡每秒流量监控+网络状态监控--数字时钟 只占几百K内存

    5. **网络状态监控**:除了流量监控,软件还能监控网络连接的状态,包括网络是否在线,上传下载速度等信息,让用户对网络环境一目了然。 从压缩包中的文件名来看,"关于透明漂移电子数字钟.txt"可能包含了这款时钟...

    大字体显示+真人语音报时+网卡每秒流量监控+网络状态监控--数字时钟 只占几百K内存

    该软件是一款功能丰富的数字时钟程序,其特点在于大字体显示、真人语音报时、网卡每秒流量监控以及网络状态监控。以下是对这些主要功能的详细解释: 1. **大字体显示**:针对视力不佳或者对清晰度有较高需求的用户...

    桌面时钟-大字体显示+真人语音报时+自动识别地区天气预报+网卡每秒流量监控+网络状态监控--数字时钟 只占几百K内存-最终修正

    同时,该桌面时钟还集成了网络状态监控,可以显示网络连接是否稳定,对于需要保持网络连通的工作环境或是在线学习场景来说,这个功能相当实用。它可能通过检查网络连接、ping测试等方法来判断网络的可用性。 程序的...

    网络状态监控程序

    很早时候写的一版程式,使用的是VS2010写的 适合研究网络通断通讯部分 喜欢的朋友可以研究一下。。

    长角牛网络监控机v3.29

    1. **实时监控**:提供24/7全天候的网络状态监控,实时反馈网络性能指标,如带宽利用率、网络速度、设备在线状态等。 2. **故障警报**:当网络出现异常时,如设备离线、流量异常增大等,软件会自动触发警报通知,...

    基于JAVA网络远程监控系统软件的实现(源码)

    基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的...

    网络连接状态实时监控报警labview程序

    网络状态监控通过定期发送和接收数据包,检查与目标计算机的连接情况,以及计算网络延迟。当网络出现断开或延迟较大的情况时,程序会触发报警机制,及时通知用户。此外,程序还提供了一个波形图界面,以可视化的方式...

    Android-实时监控网络状态

    在Android开发中,实时监控网络状态是一项非常重要的功能,它能帮助我们确保应用在各种网络环境下都能正常工作。本文将详细讲解如何实现Android应用程序的网络状态监控,包括使用Service进行实时监控以及如何处理...

    Android-NetworkObserver--极简可实时监控网络状态兼容至Android9.0

    《Android-NetworkObserver:构建实时网络状态监控系统》 在当今的移动应用开发中,网络连接的状态对于用户体验至关重要。Android-NetworkObserver项目提供了一个高效、简洁的解决方案,它允许开发者实时监控应用...

    局域网网络监控

    - **网络状态监控**:实时监控网络设备(如交换机、路由器、服务器等)的状态,检查是否有异常或故障。 - **流量分析**:跟踪网络流量,识别带宽消耗的热点,优化资源分配。 - **性能监控**:监测网络延迟、丢包率等...

    android网络监控设计源码

    通过上述示例代码可以看出,实现Android网络监控的核心在于利用Broadcast Receiver捕获网络状态变化事件,并通过Observable和Observer模式将这些变化通知给关心的组件。这种方式不仅能够确保应用程序能够在网络变化...

    snmp 网络流量监控 snmp 网络流量监控

    这种方法常用于网络流量监控,可以快速获取到不同接口的输入输出流量,帮助分析网络状况。 2. **SNMP协议开发网管agent客户端** SNMP Agent是运行在网络设备上的软件,负责响应SNMP Manager(客户端)的请求,并...

    服务器状态监控程序Delphi源代码..rar

    在IT领域,服务器状态监控是运维工作中不可或缺的一环,它能够实时反映服务器的运行状况,包括CPU使用率、内存占用、磁盘I/O、网络流量等关键指标,及时发现并预警潜在的问题,确保服务的稳定运行。本文将围绕...

Global site tag (gtag.js) - Google Analytics