java.net.ConnectException:连接超时:连接到远程数据库时发生连接错误

java.net.ConnectException:连接超时:连接到远程数据库时发生连接错误,java,android,mysql,Java,Android,Mysql,我目前正试图找到一个替代我的android应用程序后端的方法。目前,我使用php servlet查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,因此我无法更改任何配置,因为我不是管理员。我只能编辑自己的表 我正在尝试使用以下代码创建java RESTful服务器: public Connection Get_Connection() throws Exception { try { int lport=31415; Strin

我目前正试图找到一个替代我的android应用程序后端的方法。目前,我使用php servlet查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,因此我无法更改任何配置,因为我不是管理员。我只能编辑自己的表

我正在尝试使用以下代码创建java RESTful服务器:

public Connection Get_Connection() throws Exception
{
    try
    {
        int lport=31415;
        String rhost="server01.pairg.dimap.ufrn.br";
        String host="server01.pairg.dimap.ufrn.br";
        int rport=2222;
        String user="sumosensei";
        String password="123456";
        String dbuserName = "sumosensei";
        String dbpassword = "123456";
        String url = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";

        String driverName="com.mysql.jdbc.Driver";
        Connection conn = null;
        Session session= null;
        java.util.Properties config = new java.util.Properties(); 
        config.put("StrictHostKeyChecking", "no");
        JSch jsch = new JSch();
        session=jsch.getSession(user, host, 22);
        session.setPassword(password);
        session.setConfig(config);
        System.out.println(rhost+":"+rport);
        System.out.println("Port Forwarded");
        session.connect(30000);
        System.out.println("Connected");
        int assinged_port=session.setPortForwardingL(lport, rhost, rport);
        System.out.println(assinged_port+" -> "+rhost+":"+rport);
        System.out.println("Port Forwarded");

        //mysql database connectivity
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url, dbuserName, dbpassword);
        System.out.println ("Database connection established");
        System.out.println("DONE");
        /*System.out.println("estabelecendo conexão com o BD...");
        String connectionURL = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";
        Connection connection = null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connection = DriverManager.getConnection(connectionURL, "sumosensei", "123456");
        System.out.println("estabelecida conexão com o BD!");*/
        return conn;
    }
    catch (SQLException e)
    {
        e.printStackTrace();
        throw e;    
    }
    catch (Exception e)
    {
        e.printStackTrace();
        throw e;    
    }


}
此代码给了我以下错误:

com.jcraft.jsch.JSchException:java.net.ConnectException:连接超时:连接 位于com.jcraft.jsch.Util.createSocket(Util.java:386) 位于com.jcraft.jsch.Session.connect(Session.java:182) 在dao.Database.Get_连接(Database.java:37) 位于model.ProjectManager.GetKanjisTreinar(ProjectManager.java:34) 位于webService.FeedService.kanji(FeedService.java:53) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:601) 位于com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutingVoker.\u dispatch(AbstractResourceMethodDispatchProvider.java:156) 位于com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) 位于com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163) 位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) 位于com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71) 位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) 位于com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63) 在com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:654)上 位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612) 位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:603) 位于com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309) 位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425) 位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 运行(Thread.java:722) com.jcraft.jsch.JSchException:java.net.ConnectException:连接超时:连接 位于com.jcraft.jsch.Util.createSocket(Util.java:386) 位于com.jcraft.jsch.Session.connect(Session.java:182) 在dao.Database.Get_连接(Database.java:37) 位于model.ProjectManager.GetKanjisTreinar(ProjectManager.java:34) 位于webService.FeedService.kanji(FeedService.java:53) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:601) 位于com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutingVoker.\u dispatch(AbstractResourceMethodDispatchProvider.java:156) 位于com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) 位于com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163) 位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) 位于com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71) 位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) 位于com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63) 在com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:654)上 位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612) 在com.sun.jersey.server.impl.a