gpt4 book ai didi

java - JDBC/Java 应用程序端口扫描?

转载 作者:行者123 更新时间:2023-11-29 12:32:59 25 4
gpt4 key购买 nike

我的主机出现问题,因为端口扫描一直被阻止。尽管他们已将我列入白名单,但我的 IP 是动态的,因此这并不是一个真正的解决方案。

我一直在检查,我用来直接连接到主机中的 MySQL 数据库的唯一 2 个应用程序是 MySQL Workbench 和我正在开发的应用程序。我猜测 MySQL Workbench 不是进行端口扫描的那个,因为我明确要求它连接到端口 3306。

另一方面,我正在制作的应用程序似乎没有直接连接到该端口。我的理解是 JDBC 会自动执行此操作,但应用程序并没有这样做。因此,我的问题是,如何让我的应用程序直接指向端口 3306?

也有可能我的应用程序不是负责端口扫描的应用程序,而是其他东西,但是,我可以弄清楚是什么。我不使用任何类型的安全软件。

顺便说一句,在我在连接中执行的 try/catch 中,我将 catch 连接到我的本地主机,以便我可以继续工作和测试我的应用程序。

这是我的代码:

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.ArrayList;

import javax.imageio.ImageIO;
import javax.swing.JButton;

import Controller.utilidadesGenericas;
import Objetos.Generos;
import Objetos.Tema;
import Objetos.Usuario;
import Objetos.Videojuego;
import View.errorPopUp;

public class database {

protected Connection conexion;
protected Statement statement;

protected static String schema = "federicoanelli_S";
private static String host = "67.222.1.89";
private static String user = "federicoanelli_S";
private static String pass = "(PASSWORD HERE)";
private static String servidor = "jdbc:mysql://"+host+"/" + schema;

//protected static String schema = "Streamz";
//private static String user = "root";
//private static String pass = "";
//private static String servidor = "jdbc:mysql://localhost/" + schema;


public database() {
this.init();
}

public void init() {

try {
Class.forName("com.mysql.jdbc.Driver");//com.mysql.jdbc.Driver
conexion = DriverManager.getConnection(servidor, user, pass);
} catch (Exception e) {
this.schema = "Streamz";
this.user = "root";
this.pass = "";
this.servidor = "jdbc:mysql://localhost/"+this.schema;
try {
Class.forName("com.mysql.jdbc.Driver");
conexion = DriverManager.getConnection(servidor, user, pass);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//com.mysql.jdbc.Driver
catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

e.printStackTrace();
}
}

public Connection getConexion() {
return conexion;
}

最佳答案

您可以直接在主机后面添加端口:

   private static String servidor = "jdbc:mysql://"+host+":3306/" + schema;

关于java - JDBC/Java 应用程序端口扫描?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27208369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com