📄 scando.java
字号:
package javascan;/** * Title: 扫描实体程序todoscan的 * Description: * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */import java.util.*;import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.tree.*;public class scando extends Thread { java.util.Vector vscan; public int runstop=0; public JProgressBar scanbar; public JButton bstart,bstop; public int usefile=0;// public javax.swing.JLabel showlabel; String sinfo;// Socket s;// DefaultMutableTreeNode newnode;// TreeNode[] nodes; String fromhost; String endhost; DefaultTreeModel model; JTree tree; int intfromport,inttoport; public scando(DefaultTreeModel inmodel,JTree intree,int fport,int tport,String fhost,String thost) { model=inmodel; tree=intree; intfromport=fport; inttoport=tport; fromhost=fhost; endhost=thost; } public void run() { vscan=new java.util.Vector(); todoscan todo; if (bstart!=null) bstart.setEnabled(false); if (bstop!=null) bstop.setEnabled(true); String fromiptop=fromhost.substring(0,fromhost.lastIndexOf(".")+1); //IP头 int n,fip,tip; fip=java.lang.Integer.parseInt(fromhost.substring(fromhost.lastIndexOf(".")+1)); tip=java.lang.Integer.parseInt(endhost); for(n=fip;n<tip+1;n++) { todo=new todoscan(model,tree,intfromport,inttoport,fromiptop+n); if (usefile==1) todo.usefile=1; todo.start(); vscan.add(todo); System.out.println("ip list="+fromiptop+n); if (runstop==1) {endis();return;} } int sbar=1; while(1==1) { try{ sleep(1000);} catch (java.lang.InterruptedException run_err1){;} if (scanbar!=null) { if (scanbar.getValue()>scanbar.getMaximum()) {sbar=1;} scanbar.setValue(sbar); sbar=sbar+1; } if (runstop==1) {endis();return;} for(n=0;n<vscan.size();n++) { todo=(todoscan)vscan.get(n); // System.out.println("todo"+n+"="+todo.runstop); if (todo.runstop==0)break; //没用全部终止 if (todo.runstop==1 && n==vscan.size()-1){endis();return;}; //如果全部终止 } }// fromip=fromip.substring(fromip.lastIndexOf(".")+1); } void endis() { todoscan todo; int n; System.out.println("vscan="+vscan.size()); for(n=0;n<vscan.size();n++) { todo=(todoscan)vscan.get(n); todo.runstop=1; } if (bstart!=null) bstart.setEnabled(true); if (bstop!=null) bstop.setEnabled(false); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -