import java.net.Socket;
/**
* @author
* @version 1.0
* @date 2009-7-15
*/
public class GetPort extends Thread{
private int minPort,maxPort;
private GetPort (int minPort, int maxPort) {
this.minPort = minPort;
this.maxPort = maxPort;
}
public void run(){
System.out.println("start......");
for(int i = minPort; i <= maxPort; i++){
try{
String arg = "127.0.0.1";
Socket socket = new Socket(arg, i);
System.out.println(String.valueOf(i)+ ":OK");
socket.close();
}catch(Exception e) {
}
}
System.out.println("end......");
}
public static void main(String[] args) {
int minPort = 1000, maxPort = 3000;
int threadCount = 20;
int portIncrement = ((maxPort - minPort + 1) / threadCount)
+ (((maxPort - minPort + 1) % threadCount) == 0 ? 0 : 1);
GetPort[] instances = new GetPort[threadCount];
for(int i = 0; i < threadCount; i++) {
instances[i] = new GetPort(minPort + portIncrement * i, minPort
+ portIncrement - 1 + portIncrement * i);
instances[i].start();
}
}
}
注:要查看某一段的端口在minPort和maxPort设置