java 怎么通过写一段代码来判断端口号是不是被占用。在Linux下。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎么通过写一段代码来判断端口号是不是被占用。在Linux下。相关的知识,希望对你有一定的参考价值。

用socket 去连这个端口,如果能连上,则表示端口被占用追问

能否给段代码参考下?

追答try
Socket socket = new Socket("127.0.0.1",8080);
System.out.println("占用了");
catch (UnknownHostException e)
e.printStackTrace();
catch (java.net.ConnectException e)
e.printStackTrace();
System.out.println("没有占用");
catch (IOException e)
e.printStackTrace();

追问

好的 我试试 谢谢

追答

客气了,或是用 serverSocket

 

try
ServerSocket server = new ServerSocket(8080);
System.out.println("没有占");
catch (IOException e)
e.printStackTrace();
System.out.println("占着呢");

参考技术A

建立一个服务监听socket

import java.net.*;
import java.io.*;
public class Server

private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server()

try

ss = new ServerSocket(10000);
while (true)

socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();

ss.close();

catch (IOException e)


public static void main(String[] args)

new Server();

以上是一个示例。其中new ServerSocket(10000)中的10000就是指的端口,

如果该端口被占用的话,就会报异常。然后你就知道端口被占用了。

参考技术B 我怎么知道、

ubuntu下怎么查看已打开的端口号?怎么打开关闭指定端口?

在写一个UDP端口扫描的程序(通过返回的ICMP包来判断端口是否打开)想测试一下。
网上查了几个,说netstat -nupl是UDP类型,netstat -ntpl是TCP类型。话说端口还分类型吗?
打开端口有说用iptables -A INPUT -p tcp --dport 64 -j ACCEPT(打开64号端口)
但是netstat -nupl显示没有64号端口。
所以到底要怎么做?!!!坐等大神。

参考技术A icmp对udp比较有用的有,端口不可到达,主机不可到达,网络不可到达,对于这三种错误,在非connect下,错误一般不返回给应用程序而由内核自行处理,建议:要不使用connect的udp,要不使用tcp,另外如果在unix like系统下,有端口查看软件

以上是关于java 怎么通过写一段代码来判断端口号是不是被占用。在Linux下。的主要内容,如果未能解决你的问题,请参考以下文章

用vs来写一段判断是不是水仙花数的代码

linux 端口被占用,linux端口号被占用解决方法

myeclipse运行时,总是显示tomcat的端口被占,不管改为哪个端口还总是显示被占据,要怎么改?谢谢!!

tomcat的服务器 设置了8080端口 怎么域名指向这一段口

jquery-cookie判断是不是存在,求大神写一段js代码

如何用java程序获得本机的端口号?