`
yaoweinan
  • 浏览: 138452 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java 实现网络检测

    博客分类:
  • j2se
阅读更多
用windows  的命令
class MyPing extends Thread{
private User user=null;
public void run() {
  Process process;
  boolean status=false;
try {
process = Runtime.getRuntime().exec("ping "+user.getIp());

        InputStreamReader r = new InputStreamReader(process.getInputStream()); 
        BufferedReader returnData = new BufferedReader(r); 

        String returnMsg=""; 
        String line = ""; 
      
        for(int i=0;i<6;i++)returnData.readLine();  
            returnMsg += returnData.readLine(); 
        if(returnMsg.indexOf("Reply from "+user.getIp())!=-1){ 
        status=true;   
        } 
        else{ 
        status=false;
        } 
} catch (IOException e) {
e.printStackTrace();

user.setOk(status);
System.out.println((user.getName()+"状态:"+user.isOk()+"<br/>"));
return;

}
public MyPing(User user) {
this.user = user;
this.setPriority(10);
}


}
java检测
package com.roadway.edserver.util;

import java.awt.Toolkit;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/** *//**
* @Description:本类开启一个线程检测网络是否连通
* @Author : 惠万鹏
* @Time :2008-1-10
*/
public class NetworkManagement implements Runnable {
    private int htmlCodeSize;
    private int sleepMillisecond;
    private int sleepMillisecondWhenNetWorkUnLinked;
    private boolean isSpontaneousNotice;
    private static boolean networkIsLinked;
    private Thread thread = new Thread(this);
    private Toolkit toolkit;
    private String[] urls;

    public NetworkManagement() {
        this.urls = new String[]{"http://www.baidu.com", "http://www.google.cn"};
        this.htmlCodeSize = 50;
        this.sleepMillisecond = 5000;
        this.sleepMillisecondWhenNetWorkUnLinked = 10000;
        this.toolkit = Toolkit.getDefaultToolkit();
        thread.start();
    }
    public void setURLs(String[] urls) {
        if (urls != null && urls.length > 0) {
            this.urls = urls;
        }
    }
    public void setHtmlCodeSize(int htmlCodeSize) {
        if (htmlCodeSize > 0) {
            this.htmlCodeSize = htmlCodeSize;
        }
    }
    public void isSpontaneousNotice(boolean isSpontaneousNotice) {
        this.isSpontaneousNotice = isSpontaneousNotice;
    }
    public void setSleepMillisecont(int sleepMillisecont) {
        if (sleepMillisecont > 100) {
            this.sleepMillisecond = sleepMillisecont;
        }
    }
    public void setSleepMillisecondWhenNetWorkUnLinked(int sleepMillisecont) {
        if (sleepMillisecont > 100) {
            this.sleepMillisecondWhenNetWorkUnLinked = sleepMillisecont;
        }
    }
    public static boolean IsNetWordLinking() {
        return NetworkManagement.networkIsLinked;
    }

    public void run() {
        while (true) {
            try {
                this.isNetWorkLinked();
                if (!NetworkManagement.networkIsLinked) {
                    this.isPrintMessage(this.isSpontaneousNotice);
                    Thread.sleep(this.sleepMillisecondWhenNetWorkUnLinked);
                }
                System.out.println(NetworkManagement.IsNetWordLinking());
                Thread.sleep(this.sleepMillisecond);
            } catch (Exception e) {
            }
        }
    }

    private boolean canGetHtmlCode(String httpUrl) {
        String htmlCode = "";
        try {
            InputStream in;
            URL url = new java.net.URL(httpUrl);
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("User-Agent", "Mozilla/4.0");
            connection.connect();
            in = connection.getInputStream();
            byte[] buffer = new byte[this.htmlCodeSize];
            in.read(buffer);
            htmlCode = new String(buffer);
        } catch (Exception e) {
        }
        if (htmlCode == null || htmlCode.equals("")) {
            return false;
        }
        return true;
    }

    private void isNetWorkLinked() {
        boolean tempIsNetWorkLinked = false;
        for (int urlsCount = 0; urlsCount < this.urls.length; urlsCount++) {
            if (this.canGetHtmlCode(this.urls[urlsCount])) {
                tempIsNetWorkLinked = true;
                break;
            }
        }
        NetworkManagement.networkIsLinked = tempIsNetWorkLinked;
    }
    private void isPrintMessage(boolean isPrint) {
        if (isPrint) {
            toolkit.beep();
            StringBuffer message = new StringBuffer();
            message.append("------------->");
            message.append("网络中断, ");
            message.append(this.sleepMillisecondWhenNetWorkUnLinked);
            message.append(" 毫秒后再次检测!<-------------");
            System.out.println(message.toString());
        }

    }
    public static void main(String[] args) {
        NetworkManagement n = new NetworkManagement();
        n.isSpontaneousNotice(true);
    }
}
分享到:
评论

相关推荐

    java实现网络五子棋游戏

    此外,为了实现网络五子棋游戏,我们还需要理解多线程的概念,因为服务器端需要同时处理多个客户端的请求,而客户端也需要在等待对方下棋的同时更新界面。`Thread`或`Runnable`接口可以用来创建新线程,确保游戏的...

    JAVA实现bp神经网络

    标题中的“JAVA实现bp神经网络”意味着我们将讨论如何使用Java编程语言来构建和应用一种称为反向传播(Backpropagation, BP)的神经网络模型。BP神经网络是一种经典的多层前馈神经网络,广泛用于非线性问题的建模和...

    Java语言实现的人工免疫入侵检测框架

    综上所述,这个Java实现的人工免疫入侵检测框架结合了编程语言的优势、生物免疫的概念和网络安全的需求,为保护网络系统提供了创新的解决方案。对于学习网络安全、Java编程以及人工智能应用的个人和组织,这是一个...

    java实现上传网络图片到微信临时素材

    Java 实现上传网络图片到微信临时素材 在本文中,我们将详细介绍如何使用 Java 语言实现上传网络图片到微信临时素材。微信临时素材是指微信服务器上的一种临时存储形式,通过上传图片到微信临时素材,我们可以在...

    Java实现网络摄像头,视频的变化

    本篇将深入探讨如何利用Java实现网络摄像头的监控,并进行图像变化采集。 首先,我们需要了解Java Media Framework (JMF)。JMF是Java平台上的多媒体处理框架,它允许开发者捕获、播放、处理音频和视频流。在这个...

    JAVA实现sql注入点检测

    在这个Java实现的SQL注入点检测项目中,我们将深入探讨如何利用Java编写网络爬虫,并对抓取的网页内容进行SQL注入点的检测。 首先,我们要理解SQL注入的基本原理。当用户输入的数据被直接拼接到SQL查询语句中时,...

    java实现网络对抗五子棋

    - 实现网络通信协议,例如JSON或自定义二进制格式,用于序列化棋盘状态和移动请求,通过`Socket`的`OutputStream`和`InputStream`进行数据交换。 2. **客户端实现**: - 使用`Socket`类建立与服务器的连接。 - ...

    基于Java实现的(Web)网络流量分析软件【100012728】

    本次课程设计希望能设计一种能够跨平台的网络流量实时监控、分析软件,使用 Java 语言进行后台开发,而 UI 展示则使用 Web 客户端的形式。之所以选择 Web 方式展示,主要是针对没有图形界面的操作系统或目标机处于...

    java实现网络文件传输

    本项目以"java实现网络文件传输"为主题,涵盖了服务器和客户端的编程实现,涉及到的关键技术包括Socket编程、接口设计以及源码解析。下面将详细介绍这些知识点。 1. **Java Socket编程**: Java Socket是Java提供...

    rip协议 java实现

    下面我们将深入探讨RIP协议的关键概念及其Java实现。 一、RIP协议基础 1. **跳数限制**:RIP协议规定,路由器最多只能传播15跳的路由信息,超过这个范围的路径被认为是不可达的。这是因为防止路由环路和网络资源...

    Java实现ping功能

    这个项目名为"Java实现ping功能",它利用Java编程语言,结合Spring Boot、Thymeleaf和Maven等技术,实现了类似操作系统内置ping命令的功能,并且增加了端口检测的特性。下面我们将详细探讨这一项目中的关键知识点。 ...

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

    该系统的实现主要依赖于Java的强大网络编程能力和跨平台特性。Java的Socket编程接口是构建网络通信的基础,通过TCP/IP协议,服务器端可以接收并处理来自客户端的监控请求。此外,Java的多线程能力使得系统可以同时...

    基于java实现网络爬虫

    在Java中实现网络爬虫涉及多个关键知识点,对于初学者和希望深化Java基础的开发者来说,这是一个非常实用的学习项目。以下将详细阐述这些知识点: 1. **Java基础知识**:首先,你需要熟悉Java编程语言的基本语法、...

    java实现无线网络断网自动重连(完整eclipse项目)

    在这个完整的Eclipse项目中,开发者通过Java实现了无线网络断网后的自动重连功能,旨在解决无线网络连接不稳定的问题。这个项目不仅包含了核心的重连逻辑,还提供了用户界面,使得用户能够直观地看到网络状态。 ...

    Android端基于JavaCV实现人脸检测功能

    Android端基于JavaCV实现人脸检测功能 目前仅支持摄像机预览角度为0° 实现功能 人脸检测功能:FaceDetectCameraView 人脸检测后自动网络请求功能:FaceDetectRequestDialog 项目引入框架 javacv CameraView ...

    java实现流量控制流量控制

    总结来说,Java实现流量控制涉及多方面,包括基本的Socket缓冲区设置、NIO的选择器和通道、自定义协议以及线程管理和第三方库的支持。开发者可以根据实际需求选择合适的方法来实现流量控制,确保网络通信的稳定性和...

    java+虹软人脸识别检测

    通过以上步骤,我们可以构建一个基于Java和虹软人脸识别的系统,实现在后端高效、准确地检测上传照片中的人脸。这种技术在现代数字服务中有着广泛的应用,如在线身份验证、社交平台、门禁系统等。不过,随着技术的...

    数字图像边缘检测的Java实现资料.pdf

    数字图像边缘检测的Java实现资料.pdf

    Java实现远程桌面(参赛作品)

    在IT领域,远程桌面连接是一种...总的来说,"Java实现远程桌面"项目涵盖了Java编程、网络通信、图像处理、多线程、输入/输出流、安全性和性能优化等多个IT领域的关键知识点,展示了Java在构建复杂系统中的强大能力。

    计算机网络课设(利用UDP实现聊天系统 java实现 内含报告文档)

    其次,Java语言在实现网络通信方面具有广泛的应用。Java提供了Socket编程接口,包括DatagramSocket类和DatagramPacket类,用于处理UDP通信。DatagramSocket用于创建发送和接收数据报的套接字,而DatagramPacket则...

Global site tag (gtag.js) - Google Analytics