0

ポートスキャンでブロックされ続けるため、ホストに問題があります。彼らは私をホワイトリストに登録していましたが、私の IP は動的であるため、実際には解決策ではありません。

ホストのMySQLデータベースに直接接続するために使用するアプリは、MySQL Workbenchと開発中のアプリの2つだけです。ポート 3306 に接続するように明示的に要求しているため、ポート スキャンを行っているのは MySQL Workbench ではないと思います。

一方、私が作っているアプリは、ポートに直接接続していないようです。私は、JDBC がこれを自動的に行うことを理解していましたが、そうではありません。したがって、私の質問は、アプリがポート 3306 を直接指すようにするにはどうすればよいですか?

私のアプリがポートスキャンを担当するものではなく、別のものである可能性もありますが、何が原因かはわかります。セキュリティソフト等は一切使用しておりません。

ところで、私の接続で実行する try/catch で、catch を作成して db をローカルホストに接続し、アプリの作業とテストを続行できるようにします。

これは私のコードです:

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;
    }
4

2 に答える 2