Portmapper benutzen bei der JDBC-Library

J

Janoroid

Gast
Guten Tag zusammen,

ich habe momentan ein Problem.

Mein Raspberry denn ich als Mysql-Server benutze,ist über eine IPV6-Adresse öffentlich erreichbar.
Da man über den Mobilfunk keine IPV6-Adresse auflösen kann, habe ich bei den Dienst: feste-ip.net ein Portmapper erstellt.
Ich bekomme eine Url zugewiesen mit einen Port am Ende, dass so aussieht: testserver-feste-ip.net:12345.

Nun möchte ich das gerne in meine Android App einbauen, nur wird die Verbindung nicht hergestellt,wenn ich die Url eintrage.

Java:
  private static final String driver = "com.mysql.jdbc.Driver", host = "jdbc://mysql:testserver.feste-ip.net:1234/", dbName = "Wetter", username = "Luliano", password = "?8dhs&us23+64";


try {
                Class.forName("com.mysql.jdbc.Driver");
                connection = DriverManager.getConnection(host + dbName + username + password);
                System.out.println("Verbunden, mit der Datenbank");


Wenn ich die Url über den mobilen Browser aufrufe, wird eine Verbindung zum Raspberry hergestellt.


Mein Router (Connect-Box von Unitymedia) vergibt mir nur Lokal eine IPV4-Adresse nur kann ich IPV6-Adressen öffentlich machen.




Gruß,


Luliano
 
Hallo Janoroid,

a) Gibt es denn kein Errorlog von Dir ?
b) Welches API Level verwendest du ?
c) Läuft alles in einer eigenen Klasse und und in einem Thread ?

P.S. Mich machen ein wenig deine verwendeten Bibilotheken unsicher - Kann es sein , dass diese
gar nicht für reines AndroidJava/Kotlin gedacht sind , sondern eher für Java ??

Diese ist mir nämlich gänzlich für Android unbekannt
 
Zuletzt bearbeitet:
swa00 schrieb:
Mich machen ein wenig deine verwendeten Bibilotheken unsicher

Hallo swa00,

API-Level: 29

Es läuft alles in eine Klasse und die Bibliothek kann man auch für AndroidJava benutzen.

Fehlermeldung, wenn ich die App über Mobilfunk starte.
Code:
2020-07-10 20:26:05.559 16614-16731/de.janoroid.wetterstation W/System.err: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2020-07-10 20:26:05.559 16614-16731/de.janoroid.wetterstation W/System.err: The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Wenn ich die App über Wlan starte, funktioniert die Verbindung


Wenn ich das richtig verstehe, kann die App eine Anfrage an den Server senden, nur beim empfangen der Rückmeldung gibt es Probleme,oder?


Gruß,


Luliano
 
Zuletzt bearbeitet:
So zumindest nach dem Log zu beurteilen.

Was sagt denn die Verbindung, wenn du ganz normales Volley verwendest ?
 
Hallo swa00,

ich möchte gerne direkt eine Verbindung zur Datenbank haben und nicht über PHP.
Mit Volley kann ich doch Webseiten auslesen, ist das richtig?

Da die App nur für mich ist, möchte ich eine direkte Verbindung zur Datenbank haben.


Gruß
 
Nein , Volley und diverse Andere sind Standardbibliotheken für den http (Json) REST -Request.
Ausgelesen wird i.d.R. mit JSoup.

Mit meinem Vorschlag möchte ich erst einmal auschliessen , dass deine Verbindung überhaupt
innerhalb der App steht. Ein Request über den Browser verhält sich komplett anders und hat nichts mehr
mit der App zu tun.


BTW - Einen direkten Zugriff von aussen auf die MySql sollte man tunlichst vermeiden.
Denn das was du da umsetzen möchtest ist so i.d.R. nicht machbar.
Wenn Du schon direkt zugreifen möchtest , dann per MQTT oder halt PHP .
 
Zuletzt bearbeitet:

Ähnliche Themen

M
Antworten
3
Aufrufe
171
moin
M
D
Antworten
17
Aufrufe
410
datNeMo
D
J
Antworten
0
Aufrufe
695
JoEntwickler
J
Zurück
Oben Unten