`

判断端口是否被占用的方法

阅读更多
在glassfish的NetUtils中,是这样判断的
try 
		{
			ServerSocket ss = new ServerSocket(port);
			ss.close();
			return true;
		} 
		catch (Exception e) 
		{
			return false;
		}

这样判断有问题,如果一个端口被应用占用了,binding的地址是192.168.0.251:port
这个程序是判断不出端口port被占用的。因为ServerSocket ss = new ServerSocket(port);去binding的地址是0.0.0.0:port,而不是192.168.0.251:port,在windows上是可以binding的,不能判断出端口已经被占用。
这里改为
 private static void bindPort(String host, int port) throws Exception{
            Socket s = new Socket();
            s.bind(new InetSocketAddress(host, port));
            s.close();
        }
……

try 
		{
                    bindPort("0.0.0.0", port);
                    bindPort(InetAddress.getLocalHost().getHostAddress(),port);

			return true;
		} 
		catch (Exception e) 
		{
			return false;
		}

这样就检测了0.0.0.0和本机ip两种情况
分享到:
评论

相关推荐

    检测端口是否被占用源码(C++)

    在C++编程中,检测端口是否被占用是网络编程中的常见需求,特别是在服务器...通过创建并尝试绑定或连接到目标端口,我们可以判断端口的使用情况。在实际项目中,这一步骤对于确保服务的正常运行和避免冲突至关重要。

    检测tcp端口是否被占用

    检测TCP端口是否被占用主要有以下两种方法: 1. **端口扫描**:通过发送TCP SYN数据包到目标端口并监听响应。如果收到SYN+ACK回应,表示端口被占用;如果没有回应或收到RST(复位)包,则端口未被占用。这种方法...

    nsis 判断端口是否被占用

    nsis 判断端口是否被占用的程序代码.

    NSIS 检测端口是否被占用

    可能包含了一系列与网络编程相关的函数,如打开套接字、发送测试数据包、接收响应,以及解析结果来判断端口是否被占用。 2. **TCP.dll** - 这是一个动态链接库文件,编译自tcp.cpp源代码。在NSIS脚本中,你可以通过...

    判断端口是否打开的批处理.bat

    判断端口是否打开的批处理.bat 主要用来对安卓模拟器端口判断的批处理,自己用到的

    linux查看端口是否被占用的小脚本

    linux查看端口是否被占用的小脚本 # 用法:./portinfo.sh port # 例如: ./portinfo.sh 80 会列出80端口是否被占用,被占用就显示80端口详细信息

    C#写的检查TCP、UDP端口是否被占用

    C#写的检查TCP、UDP端口是否被占用,原理就是利用netstat -a,在得到的结果当中检索端口是否被占用,有时候运行有点慢,注意的是有些知名端口的检查结果是错误的(因为在netstat -a运行结果当中,知名端口没有用数字...

    c#检测某个端口是否被占用

    在C#中,我们可以使用Socket类的Connect方法来尝试连接到指定的端口,以此判断该端口是否被占用。如果连接成功,那么端口被占用;如果连接失败,比如抛出SocketException异常,那么端口可能未被占用或服务未启动。 ...

    C#检查本机TCP/UDP端口是否被占用

    检查本机TCP/UDP端口是否被占用,两种不同的方式进行检测,对功能进行了封装,直接调用即可,适合初学者。

    linux下查看端口是否被占用以及查看所有端口

    本文将详细介绍如何在Linux环境下检查端口是否被占用、查看所有端口以及判断服务器是否开放特定端口的方法。 #### 查看服务器端口是否被占用 要查看某个特定端口是否被占用,可以使用`lsof`命令。这是一个非常强大...

    VB入门学习小程序判断计算机端口是否被占用(走马灯)

    这是自己写的一个判断计算机通讯端口是否被占用的小程序,供入门者参考!

    android判断网络端口是否可达

    我们需要捕获这些异常,以便根据返回的结果判断端口是否可达。 ```java try { Socket socket = new Socket("127.0.0.1", 8080); // 如果没有抛出异常,说明连接成功,端口可达 System.out.println("端口可达");...

    NC 中端口被占用

    通过这个命令,你可以看到所有正在使用的端口及对应进程的信息,从而判断端口是否被占用。 此外,还可以使用`lsof`命令来查找占用特定端口的进程,命令格式为: ``` lsof -i : ``` 例如,要查找占用80端口的进程...

    易语言判断端口开放

    在易语言判断端口开放源码中,开发者通常会结合这些函数编写一段代码,首先创建网络通讯对象,然后尝试连接目标IP和端口,根据连接结果判断端口是否开放,最后关闭网络连接。这种方法简单有效,适用于大多数情况。 ...

    端口占用情况检测及关闭工具.bat.rar

    总之,这个批处理工具提供了一种简便的方法来管理和解决端口占用问题,特别是对于那些不熟悉命令行操作的用户。通过自动化这些基本的命令行操作,用户可以快速定位问题并解决问题,提高工作效率。然而,需要注意的是...

    DLL:测试TCPIP端口号是否已被占用包括TCP和UDP.

    5. 用户接口:虽然这个DLL是供其他应用使用的,但可能还包含了便于其他开发者调用的API接口,这些接口可能包括输入端口号和获取端口占用状态等功能。 在提供的压缩包文件中,"sckPort"可能是源代码文件、编译后的...

    linux 监视端口是否正常的shell脚本

    代码如下: #!/bin/bash port=”80″ restart=”/etc/init.d/httpd restart” EMAIL=”/bin/echo selboo | mutt -s “重新启动...$EMAIL exit $? } exit 0 您可能感兴趣的文章:linux使用管道命令执行ps获取cpu与内

    c#检测端口是否被占用的简单实例

    以下是一个简单的C#示例,演示了如何检查指定端口是否被占用: ```csharp using System; using System.Net; using System.Net.NetworkInformation; public static bool PortInUse(int port) { bool inUse = false...

    查看linux中某个端口(port)是否被占用的方法

    当一个端口被占用时,其他服务无法再使用该端口,因此了解如何查看端口是否被占用是Linux系统管理的重要技能。下面将详细介绍两种常用的方法:`lsof` 和 `netstat` 命令。 1. **使用`lsof`命令** `lsof`(List ...

    易语言检测本机端口占用

    本篇文章将详细讲解如何使用易语言来检测本机端口占用情况,以及如何判断一个端口是否被其他进程占用。 首先,我们要理解什么是端口。在TCP/IP协议中,端口是一个16位的数字,范围是0到65535,用于区分同一IP地址上...

Global site tag (gtag.js) - Google Analytics