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

48304ba5e6f9fe08f3fa1abda7d326ab.png

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;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,通过使用java.net包下的ServerSocket类可以创建一个服务器端套接字,用于监听指定端口的连接请求。当其他应用程序或进程尝试连接该端口时,ServerSocket将接受并创建相应的Socket对象,从而建立与客户端的通信。 在Tomcat中,作为一个开发环境和应用服务器,使用Java编写并运行Web应用程序。默认情况下,Tomcat使用8080作为HTTP请求的默认端口号。当我们使用java.net.ServerSocket类的实例监听8080端口时,如果该端口已经被Tomcat使用,则会导致监听失败,无法建立该端口的ServerSocket对象。 也就是说,当在Java中使用java.net.ServerSocket监听Tomcat已经占用端口时,会发生端口冲突,无法继续监听该端口。这意味着无法通过Java程序来占用Tomcat所使用的端口。 解决该问题的方式有两种: 1. 修改Tomcat的配置文件,将Tomcat监听的默认端口号修改为其他未被占用端口。这样的话,就可以在Java程序中使用ServerSocket监听原来由Tomcat使用的端口了。 2. 修改Java程序中的端口号,将要监听的端口修改为Tomcat未使用的端口号。这样的话,即使Tomcat已经占用了8080等端口Java程序可以使用其他未被占用端口进行监听。 需要注意的是,如果Tomcat正在运行并监听某个端口,我们在Java程序中占用了这个端口,可能会导致冲突和不可预测的结果。所以,在进行端口占用操作时,需要谨慎处理,避免因端口冲突而导致的问题发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值