JAVA中如何判断某主机端口是否打开?????

目前小弟只知道利用socket,
Socket client = new Socket(IP, port);
client.close();
如果不抛出异常则端口开放。
请问JAVA中还有没有其他比较好的方法能实现这一目的??
可能我表达错了
Socket clientSocket=null
try
{
clientSocket=new Socket(192.168.2.3,1111)
System.out.println("端口已打开");
clientSocket.close();
}
catch(Exception e)
{
System.out.println("端口未打开");
}
我的意思是,除了这种方法之外,还有没有其他的方法呢??

Socket client = null;
try{
client = new Socket(IP, port);
System.out.println("端口已开放");
client.close();
}catch(Exception e){
System.out.println("端口未开放");
}
====================================================
这样就能正常捕获这个异常,不会阻止程序正常运行!追问

谢谢回答,但是我的意思是有没有除用socket以外的方法实现?

追答

可能是我才疏学浅,我就知道这个方法!呵呵,不过我觉得有了这个方法就已经够了!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-29
你可以在catch的代码块中,捕捉是否是端口异常,如果是,则执行相应的代码,程序是或者,这个也是 一个方法
第2个回答  2011-04-29
我有个另类的办法,通过解析cmd命令"netstat -an"返回的信息来得知那些端口被占用了。追问

额。。谢谢,但那对我这菜鸟而言还不现实呵呵

追答

那恐怕没有其他办法了。

端口是什么含义,怎么判断一个端口是否被占用了
由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方 是否开启了这些服务 如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;。动态端口(1024-49151):这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程,...

使用Socket判断端口是否被占用
\/\/普遍使用的判断端口是否被占用的方法 import java.io.IOException;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;public class sampletest{public static void main(String[] args){for(int i=1;i<256;i++){try{InetAddress localHost=InetAddress.getLocalH...

java中遇到问题:到主机 的 TCP\/IP 连接失败java.net.ConnectException: Co...
检查:数据库名,IP,端口,用户名,密码连接拒绝基本上都是ip,端口不对

远程判断一台linux服务器8080端口是否可用
Linux下判断远程主机某端口是否开放方法可以用nmap工具进行检测端口是否开放。1:nmap工具检测开放端口 nmap是一款网络扫描和主机检测的工具。nmap的安装非常简单,如下所示rpm安装所示。关于nmap的使用,都可以长篇大写特写,这里不做展开。安装Telnet组件。转到程序控制面板,然后转到打开或关闭窗口功能,Telnet客...

Linux下怎样查看某一端口是否开放?
可以用nmap工具进行检测端口是否开放。1:nmap工具检测开放端口 2、nmap是一款网络扫描和主机检测的工具。nmap的安装非常简单,如下所示rpm安装所示。3、关于nmap的使用,都可以长篇大写特写,这里不做展开。如下所示,nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口。 当然也可以扫描其它服务器端口...

Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连 ...
isReachable方法是通过连接主机的echo端口来确定客户端和服务端是否可连通 但在Internet上使用这个方法可能会因为放火墙等因素而无法连通远程主机(实际上 远程主机是可以连通的) 因此 isReachable在Internet上并不可靠 但我们可以将isReachable方法应用于局域网中 lishixinzhi\/Article\/program\/Java\/hx\/201311\/...

Java.to.IOException:远程主机强迫关闭了一个现有的连接
你说的情况可能是你的系统有漏洞,非常简单的3389漏洞,你可以查看设置是否打开了3389端口,首先右手键我的电脑,属性,远程,查看远程协助和远程桌面的对选勾是否打上,如果有打勾就把这两项取消掉。这个漏洞一般360安全卫士都不提示的。

判断当前url 里面是否包含指定关键字
1.$_SERVER['HTTP_HOST'] \/\/获取域名或主机地址 .然后采用正则表达式,你可以匹配你想用的前几个数字为关键字,或者你想要的数据,即可查看到是否是你想要的关键字 或者你可以通过截取字符串的方式,对地址进行截取后匹配

高手java如何实现在线主机检测
测试Java的网络功能 < java.net.InetAddress localhostAddress = java.net.InetAddress.getLocalHost();\/\/ 返回的都是字符串格式的 System.out.println("本机地址:" + localhostAddress + " 主机名:" + localhostAddress.getHostName() + "主机ip:" + localhostAddress.getHostAddress()...

有谁可以详细说说在任务管理器打开后里面显示的运行进程么?
一、木马的特性 特洛伊木马属于客户\/服务模式。它分为两大部分,既客户端和服务端。其原理是一台主机提供服务(服务器端),另一台主机接受服务(客户端),作为服务器的主机一般会打开一个默认的端口进行监听。如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来答应客户机的请求。这个程序...

相似回答