www.pudn.com > network-java.rar > PingThread.java
package netManager.discovery; /** *Title: PingThread
*Description: 保存在线IP地址 * 通过JNI调用C++写的Ping.dll,测试该IP地址是否在线.
*Copyright: Copyright (c) 2006
*Company:
* @author:谢飞 * @version 1.0 */ //import java.util.concurrent.Callable; //类似于Runnable,可以从线程中返回一个值 //import netManager.util.ConnDB; //import java.sql.Connection; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class PingThread implements Runnable { private String hostIP; //需要测试的IP地址 private IPSaving ips; private Log log = LogFactory.getLog("PingThread"); public PingThread(String hostIP,IPSaving ips){ this.hostIP = hostIP; this.ips = ips; } static String path = System.getProperty("user.dir"); static { System.load(path + "\\ping.dll"); //调用ping.dll执行ping //System.load(path + "/ping.dll"); //调用ping.dll执行ping } public native int ping(String hostIP); public synchronized void run() { try{ //log.info(hostIP); //ips.amountAdding(1); //System.out.print("ss"); int rs = ping(hostIP); //rs - 1;主机在线,否则不在线或异常 if(rs == 1){ ips.getIP(hostIP); ips.amountAdding(1); } else{ ips.amountAdding(0); } //ips.setFlag(true); } catch(Exception e){ log.error(e); } } }