java實例檢查端口是否被占用


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;  
    }  
}
 
        

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM