程序是练出来的

专注JAVA,JavaScript,Python,三剑走天涯。 软素质:忠心、追求、进取、态度、方法、恒心、坚持

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
127.0.0.1代表本机
主要的原理是:Socket socket = new Socket(Address,port);#address代表主机的IP地址,port代表端口号
如果对该主机的特定端口号能建立一个socket,则说明该主机的该端口在使用。
Socket socket = new Socket(Address,port);#address代表主机的IP地址,port代表端口号
如果对该主机的特定端口号能建立一个socket,则说明该主机的该端口在使用。
import java.io.IOException;  
import java.net.InetAddress;  
import java.net.Socket;  
import java.net.UnknownHostException;  
 
public class Main {  
    //start--end是所要检测的端口范围
    static int start=0;
    static int end=1024;
    public static void main(String args[]){
        for(int i=start;i<=end;i++){
            System.out.println("查看"+i);
            if(isLocalPortUsing(i)){
                System.out.println("端口 "+i+" 已被使用");
            }
        }
    }
    /**
     * 测试本机端口是否被使用
     * @param port
     * @return
     */
    public static boolean isLocalPortUsing(int port){  
        boolean flag = true;  
        try {
            //如果该端口还在使用则返回true,否则返回false,127.0.0.1代表本机
            flag = isPortUsing("127.0.0.1", port);  
        } catch (Exception e) {  
        }  
        return flag;  
    }  
    /*** 
     * 测试主机Host的port端口是否被使用
     * @param host 
     * @param port 
     * @throws UnknownHostException  
     */ 
    public static boolean isPortUsing(String host,int port) throws UnknownHostException{  
        boolean flag = false;  
        InetAddress Address = InetAddress.getByName(host);  
        try {  
            Socket socket = new Socket(Address,port);  //建立一个Socket连接
            flag = true;  
        } catch (IOException e) {  
 
        }  
        return flag;  
    }  
}

 


posted on 2018-06-03 12:07  爱学习的小象  阅读(10187)  评论(0编辑  收藏  举报