⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nettest.java.bak

📁 这是网络连通性测试与日志管理
💻 BAK
字号:
import java.net.*;
import java.io.*;
import java.util.*;
public class NetTest extends Thread{
	final int ARRAYSIZE=1000;
	Socket scon;
	Timer time;
	DataBaseSQL sqlDate = new DataBaseSQL();
	String sSele;
	ConfigFloor floor=new ConfigFloor();
	ConfigFloor temp;
	Vector data;
	String scanIP;
	int scanPort;
	int times[]=new int[ARRAYSIZE];
	int tempTime=0;
	int i=0;
	boolean scanType;
	public NetTest(){	
		sSele="select * from Config";
		data=sqlDate.setSelect(sSele,2);
		sqlDate.conClose();
	}
    public void  run(){
		for(i=0;i<data.size();i++){
			Vector v=new Vector();
			v=(Vector)data.elementAt(i);
			temp=floor.parseFloor(v);
			scanPort=temp.getPort();
			scanIP=temp.getIP();
			times[i]=temp.getWrongTimes();
			tempTime=temp.getTimes();
			if(scanPort==0){
				scanType=ping(scanIP);
				if(scanType==false){
					tempTime++;
					temp.setStatus("失败");
				}
				else{
					temp.setStatus("成功");
				}
				if(tempTime>=3){
					times[i]++;
					tempTime=0;
					warning();
					DataBaseSQL uuu=new DataBaseSQL();
					Date currdate1 = new Date();
					String insert="insert into Log(logDate,IP,port,wrongType)values('"+currdate1+"','"+temp.getIP()+"',0,1)";
					uuu.setInsert(insert);
					uuu.conClose();
				}
				
			}
			else{
				scanType=connectNet(scanIP,scanPort);
				if(scanType==false){
					tempTime++;
					temp.setStatus("失败");
				}
				else{	
					temp.setStatus("成功");
				}
				if(tempTime>=3){
					times[i]++;
					tempTime=0;
					warning();
					DataBaseSQL u=new DataBaseSQL();
					Date currdate = new Date();
					String insert="insert into Log(logDate,IP,port,wrongType)values('"+currdate+"','"+temp.getIP()+"',"+temp.getPort()+",2)";
					u.setInsert(insert);
					u.conClose();
				}
				
			}
			DataBaseSQL uu=new DataBaseSQL();
			String updateData="UPdate Config set status='"+temp.getStatus()+"',wrongTimes="+times[i]+",times="+tempTime+" where IP='"+temp.getIP()+"'";
			uu.setUpdate(updateData);
			uu.conClose();
		}
	}
	void warning(){
		System.out.println("\07");
	}
	protected boolean   connectNet(String ip,int port){
		InetAddress url=null;
		int juge=0;
			try{
				url=InetAddress.getByName(ip);
				Socket sc = new Socket(url,port);
				juge=1;
				sc.close();
		}
		catch(Exception e){
			juge=-1;
		}
		return juge>0?true:false;
		
		
	}
   protected boolean   ping(String ip){   
		Runtime   rt=null;  
		int juge=0;
		int aa=0, bb=0;
		try{   rt = Runtime.getRuntime();   
			    Process p = rt.exec("ping  "+ip);   
				BufferedReader bufferedReader = new BufferedReader(   
					new   InputStreamReader(p.getInputStream()));
				String s;     
				while((s =  bufferedReader.readLine())!=null){
					bb=s.indexOf("Received =");
						if(bb>0){
									String str=s.substring(bb+11,bb+12);
									int cc=Integer.parseInt(str);
									 if(cc>0)juge=-1;
									 aa=1;
									 break;
						}			
						if(aa!=1){
							juge=1;
						}
				}
		}
		catch(Exception e){   
			System.out.println("调用Ping错误!");   
			e.printStackTrace();   
		}   
		finally{   
		 rt.gc(); 
		}  
		return juge>0?true:false;
  }
/*
	public static void main(String args[]){
		new NetTest();
	}
	*/
}
  
								

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -