要是有也给我一个:[email protected]

解决方案 »

  1.   

    你想怎样扫描,直接用Socket不就得了吗
      

  2.   

    因为我想要的是别人的某个端口是不是开了,不是自己的socket的
    好像自己去连不能成功,不知道为什么
      

  3.   

    package steeven; import java.sql.*; 
    import java.io.*; 
    import java.util.*; 
    import java.text.*; 
    import javax.servlet.http.*; public class Ip extends Common implements Runnable{ public String ip; // IP, 用户名, 主机名 ResultSet list; // 分页显示的记录集 
    public Ip cur; // 分页显示的当前记录 static public Hashtable ping = new Hashtable(); //ping 后的结果集 
    static int threadCount = 0; //当前线程的数量, 防止过多线程摧毁电脑 
    public Ip() {} 
    public Ip(String ip){ 
    this.ip=ip; 
    Thread r = new Thread(this); 
    r.start(); 
    } public static void Ping(String ip) throws Exception{ 
    //最多30个线程 
    while(threadCount>30) 
    Thread.sleep(50); 
    threadCount +=1; 
    Ip p = new Ip(ip); 

    public void PingAll() throws Exception{ 
    threadCount =0; 
    ping = new Hashtable(); 
    while(next()) //next()对所有局域网Ip放到cur 
    Ping(cur.ip); 
    //等着所有Ping结束 
    while(threadCount>0) 
    Thread.sleep(50); 

    public void run(){ 
    try{ 
    Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1"); 
    InputStreamReader ir = new InputStreamReader(p.getInputStream()); 
    LineNumberReader input = new LineNumberReader (ir); 
    //读取结果行 
    for (int i=1 ; i<7; i++) 
    input.readLine(); 
    String line= input.readLine(); if (line.length()<17 || line.substring(8,17).equals("timed out")) 
    ping.put(ip,new Boolean(false)); 
    else 
    ping.put(ip,new Boolean(true)); 
    //线程结束 
    threadCount -= 1; 
    }catch (IOException e){} 

    public static void main(String[] args) throws Exception{ 
    Ip ip= new Ip(); 
    ip.PingAll(); 
    java.util.Enumeration key = ping.keys(); 
    String k; 
    while((k = (String)key.nextElement()) != null) 
    System.out.println(k+": "+ping.get(k)); 


      

  4.   

    to wdman(天空),给个完整的吧!common类没有啊
      

  5.   

    冰棍之流真是十足流氓一个。顺便在这里发表一下我的看法:),是针对楼上的———------------------------------------用UDP ping咯,好像以前有个人贴过的,搜索看看吧。