【问题标题】:java.net.ConnectException: Connection timed out: connect, using routerjava.net.ConnectException:连接超时:连接,使用路由器
【发布时间】:2014-07-16 07:00:40
【问题描述】:

我正在尝试将一台 PC(使用 XAMPP)与另一台 PC(使用 Processing)连接。为此,我下载了一个 MySQL 库进行处理: 导入 de.bezier.data.sql.*;

当我使用 localhost 作为服务器时它可以工作,当两者都有互联网时它可以与其他计算机一起工作。但是,我需要它在本地网络中工作,所以没有互联网,只有路由器的无线连接。在这里它失败了。我不知道为什么。即使我使用 LAN 电缆,我也可以通过 URL 访问“服务器”。但是当我想在处理中访问它时,我得到了这个:

SQL.connect(): Could not connect to the database ( jdbc:mysql://192.168.0.103/event ).

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection timed out: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection timed out: connect
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at de.bezier.data.sql.SQL.connect(Unknown Source)
    at MySQL_example1.setup(MySQL_example1.java:56)
    at processing.core.PApplet.handleDraw(PApplet.java:2103)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
    at processing.core.PApplet.run(PApplet.java:2006)
    at java.lang.Thread.run(Thread.java:662)


** END NESTED EXCEPTION **



Last packet sent to the server was 26 ms ago.
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2643)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at de.bezier.data.sql.SQL.connect(Unknown Source)
    at MySQL_example1.setup(MySQL_example1.java:56)
    at processing.core.PApplet.handleDraw(PApplet.java:2103)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
    at processing.core.PApplet.run(PApplet.java:2006)
    at java.lang.Thread.run(Thread.java:662)

如何让它工作?任何形式的帮助表示赞赏!

编辑:代码基本上是库中的示例。我更改了密码、用户名和要与之通信的 IP 地址。 'event' 是数据库,'db_name' 是表。

    import de.bezier.data.sql.*;


// created 2005-05-10 by fjenett
// updated fjenett 20081129


MySQL msql;


void setup()
{
    size( 100, 100 );

    // this example assumes that you are running the 
    // mysql server locally (on "localhost").
    //

    // replace --username--, --password-- with your mysql-account.
    //
    String user     = "user123";
    String pass     = "1234";

    // name of the database to use
    //
    String database = "event";
    // add additional parameters like this:
    // bildwelt?useUnicode=true&characterEncoding=UTF-8

    // connect to database of server "localhost"
    //
    msql = new MySQL( this, "192.168.0.103", database, user, pass );

    if ( msql.connect() )
    {
        msql.query( "SELECT COUNT(*) FROM db_name" );
        msql.next();
        int rand = int(random(msql.getInt(1)));

        println( "randomrow: " + msql.getInt(1) );
    }
    else
    {
        // connection failed !
    }
}

void draw()
{
    // i know this is not really a visual sketch ...
}

EDIT2: 是不是安装了 XAMPP 的 PC 必须先激活 Telnet 服务器服务?

【问题讨论】:

  • 你能展示你的代码吗?
  • 完成!我编辑了我的问题,@fortune
  • 听起来是个有趣的项目。我们可以在某处查看它(或其结果)吗?

标签: java mysql database processing router


【解决方案1】:

好的,对于以后遇到同样问题的每个人:装有 XAMPP 的计算机可能已授予我对 MySQL 数据库的所有权限,但是计算机本身不允许访问任何其他计算机。这只是一个临时解决方案,但我用 XAMPP 关闭了计算机上的 Windows 防火墙,它工作了。

【讨论】:

    猜你喜欢
    • 2011-08-05
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 2012-09-29
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多