码迷,mamicode.com
首页 > 编程语言 > 详细

java实例检查端口是否被占用

时间:2018-06-03 14:23:34      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:java.net   static   lse   flag   cal   str   特定   name   get   

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

 


java实例检查端口是否被占用

标签:java.net   static   lse   flag   cal   str   特定   name   get   

原文地址:https://www.cnblogs.com/ltb6w/p/9128680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!