首页 > 开发 > Java > 正文

Java查看本机端口是否被占用源码

2024-07-13 10:11:51
字体:
来源:转载
供稿:网友

记得以前在写程序的时候,有一次需要查看端口的被占用情况,虽然我不会,但是有人会。所以通过网上查找相关的文章,具体如下。

127.0.0.1代表本机

主要原理是:

Socket socket = new Socket(Address,port);#address代表主机的IP地址,port代表端口号

如果对该主机的特定端口号能建立一个socket,则说明该主机的该端口在使用。

/** * @author MrBread * @date 2017年6月18日 * @time 下午3:14:05 * @project_name TestSocket * 功能:检测本机端口是否已经被使用用 */package com.mycode.www; 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;   } }

输出结果如下:

查看0查看1查看2查看3查看4查看5查看6查看7查看8

以上就是本文关于如何查看端口是否被占用的实例源码,希望对大家有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表