在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两种情况
分享到:
相关推荐
1、用于检测当前系统的端口是否被占用。 2、获取系统各个端口的状态
nsis 判断端口是否被占用的程序代码.
判断端口是否打开的批处理.bat 主要用来对安卓模拟器端口判断的批处理,自己用到的
程序检测某个端口是否被tcp占用,vs2010测试通过。
nsis 检测端口是否被占用的插件,非常实用,制作安装程序在安装的时候检测端口是否被占用
linux查看端口是否被占用的小脚本 # 用法:./portinfo.sh port # 例如: ./portinfo.sh 80 会列出80端口是否被占用,被占用就显示80端口详细信息
C#写的检查TCP、UDP端口是否被占用,原理就是利用netstat -a,在得到的结果当中检索端口是否被占用,有时候运行有点慢,注意的是有些知名端口的检查结果是错误的(因为在netstat -a运行结果当中,知名端口没有用数字...
这是自己写的一个判断计算机通讯端口是否被占用的小程序,供入门者参考!
用c#执行doc命令,并获取某个端口使用情况。
代码如下: #!/bin/bash port=”80″ restart=”/etc/init.d/httpd restart” EMAIL=”/bin/echo selboo | mutt -s “重新启动...$EMAIL exit $? } exit 0 您可能感兴趣的文章:linux使用管道命令执行ps获取cpu与内
检查本机TCP/UDP端口是否被占用,两种不同的方式进行检测,对功能进行了封装,直接调用即可,适合初学者。
主要介绍了c#检测端口是否被占用的简单实例,有需要的朋友可以参考一下
使用C#实现Tracert功能/Ping功能/快速判断端口是否开放; 代码使用VS2005编译,可使用于后续各个版本的VS. 该代码可用于判断网络是否通畅/网络调试等 ;
软件介绍: 一款简单实用的批处理文件,能够查看端口占用情况,及根据需要关闭相关占用端口的进程。指定端口占用情况,请输入需要查看的端口,请输入需要kill掉占用端口的进程。
NULL 博文链接:https://dadi520.iteye.com/blog/920536
测试TCPIP端口号是否已被占用包括TCP和UDP. 可编译成DLL文件供其它应用使用 wxDevC++工程
下面小编就为大家带来一篇查看linux中某个端口(port)是否被占用的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
无需代码操作,无脑123选项,小白必备,解决端口冲突问题
大家有没有遇到过在开启本地服务时,有这么一种情况:当前端口已经被另一个项目使用了,导致服务开启失败。那么接下来,我们通过简简单单的示例代码来检测端口是否已经被占用。有需要的朋友们可以参考借鉴。