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



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

时间: 2024-11-13 07:51:22

java实例检查端口是否被占用的相关文章

Java如何检查端口是否被使用?

在Java编程中,如何扫描打开的端口(是否被使用)? 以下示例显示如何通过创建 Socket 对象来检查主机上打开或正在使用的端口(相当于一个简单的端口扫描器). package com.yiibai; import java.net.*; import java.io.*; public class CheckPort { public static void main(String[] args) { Socket Skt; String host = "localhost"; i

Java - 35 Java 实例

Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Java 实例 – 如何查看当前 Java 运行的版本? Java 字符串 Java 实例 – 字符串比较 Java 实例 - 查找字符串最后一次出现的位置 Java 实例 -

java web中 8080端口号被占用的问题处理,终于明白了 Address already in use: JVM_Bind(端口冲突)

1.错误描述 2011-7-20 11:05:18 org.apache.catalina.core.StandardServer await严重: StandardServer.await: create[8005]: Java.NET.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.Net.PlainSocketImpl.

Protocol Buffer技术详解(Java实例)

Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发团队中目前主要使用的开发语言就是C++.Java和Python,其中Python主要用于编写各种工具程序.然而为了保证该篇Blog的完整性和独立性,我仍然会将上一篇Blog中已经出现的内容再一次赘述,同时对于Java中特有的部分也会着重介绍.          一.生成目标语言代码.      下面

linux 查看端口是否被占用

查看端口是否被占用: netstat -anp | grep port lsof -i:port 查看端口被那个进程占用: netstat -anp | grep port 或使用 lsof -i:port 显示结果的有进程id, 再ps -ef | grep pid即可 查看进程(如java进程)使用的端口: ps -aux | grep java 找到pid 再lsof -i | grep pid 或使用netstat -anp | grep pid即可

Windows端口80被占用的解决办法

今天在运行一个非常挫的Server的时候,报错端口80被占用,于是各种找办法解决.最后我的解决的方案列出来吧,给遇到相同的问题的人做一些参考. 第一步,找到哪个程序占用端口 运行->CMD打开DOS窗口 netstat -ano | findstr 80 然后,找到这一行 TCP 0.0.0.0:80 0.0.0.0 LISTENING 4744 最后的4744就是占用这个端口的PID,然后找到这个PID的程序 tasklist | findstr 4744 然后,可以看到 java.exe 4

netstat如何查看某端口是否被占用?

windows.linux下均可用 netstat -ano命令可以查看本机目前所有端口使用情况.并且按端口号从小到大排列.如果你本机3000端口有被调用,也会列出来,若没有就证明没被使用. netstat -ano下包含PID号,通过[任务管理器]对照PID号,即可查看到哪个程序调用了3000端口. 如果你想更清楚如何检查端口使用情况,排除端口冲突的问题,你可以看看我空间上的图文说明[80端口被占用(端口检查)解决]你会明白所有关于端口查看及冲突的问题:http://hi.baidu.com/

端口号被占用解决方法

今天下班前,检查服务器时,发现程序异常消失,于是从新运行程序,提示端口号被占用!!!我就愣住了,谁给占用了! 下面是一个简单的解决方法,希望给大家带来帮助. 先win+R-cmd-netstat -ano    //查看所有的端口占用情况 netstat -ano|findstr "端口号"       //查看指定端口的占用情况 taskkill /f /pid 号 也可以在任务管理器里终止进程. 感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下"推荐"按钮.

ADB连接不上手机,端口5037被占用的情况解决

最近在搞手机APP自动化测试,adb连接手机时提示端口被占用 检测5037端口被谁占用,cmd窗口输入命令:netstat -ano | findstr "5037" (注意"5037"前面有个空格,这个问题害我排查了好一会), 记住PID, 在cmd下输入tasklist | findstr "12540": 查看这个进程是由哪个程序创建的(12540就是占用5037端口的一个进程的PID): 然后执行:taskkill /f /pid 125