Java代码如何判断8080端口是否还存在
时间: 2024-03-20 08:40:22 浏览: 17
可以通过Java的Socket类来判断8080端口是否还存在。可以使用以下代码:
```java
import java.net.*;
public class PortChecker {
public static void main(String[] args) {
try {
Socket socket = new Socket();
socket.connect(new InetSocketAddress("localhost", 8080), 2000); //2秒超时
socket.close();
System.out.println("Port 8080 is open");
} catch (Exception e) {
System.out.println("Port 8080 is closed");
}
}
}
```
以上代码中,我们使用Socket类连接本地的8080端口,如果连接成功则说明8080端口还存在,否则说明8080端口已经被关闭或者被其他程序占用。
相关问题
Java判断8080端口存在返回success不存在返回filed
可以使用 Java 的 Socket 类来判断端口是否存在,代码如下:
```java
import java.net.Socket;
public class PortChecker {
public static void main(String[] args) {
String host = "localhost";
int port = 8080;
try {
Socket socket = new Socket(host, port);
System.out.println("success");
socket.close();
} catch (Exception e) {
System.out.println("filed");
}
}
}
```
这个程序会尝试连接本地的 8080 端口,如果连接成功,则输出 "success",否则输出 "filed"。你可以根据自己的需求,修改 host 和 port 的值。
java扫描端口是否有数据库存在
可以通过 Java 的 Socket 类实现端口扫描,然后通过连接数据库的方式判断端口是否有数据库存在。
以下是示例代码:
```java
import java.net.*;
public class PortScanner {
public static void main(String[] args) {
String host = "localhost"; // 要扫描的主机名或 IP 地址
int port = 3306; // 要扫描的端口号
try {
Socket socket = new Socket();
socket.connect(new InetSocketAddress(host, port), 1000); // 连接超时时间为 1000 毫秒
System.out.println("端口 " + port + " 已开放");
// 连接数据库,判断端口是否有数据库存在
String url = "jdbc:mysql://" + host + ":" + port + "/";
String user = "root";
String password = "root";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("端口 " + port + " 有数据库存在");
conn.close();
} catch (ClassNotFoundException e) {
System.out.println("未找到数据库驱动程序");
} catch (SQLException e) {
System.out.println("端口 " + port + " 没有数据库存在");
}
} catch (IOException e) {
System.out.println("端口 " + port + " 未开放");
}
}
}
```
在上面的示例代码中,我们使用 Socket 类来实现端口扫描,连接超时时间为 1000 毫秒。如果连接成功,说明该端口已经开放,然后我们可以通过连接数据库的方式来判断该端口是否有数据库存在。如果连接数据库成功,说明该端口有数据库存在,否则说明该端口没有数据库存在。