private internet connection



  • Ich suche nach einer Möglichkeit, mit der ich zwei Geräte über das Internet synchronisieren kann. Es geht dabei um eine einfache Datenbank, die, sobald man auf "sync" drückt, mit der eines anderen Geräts abgeglichen werden soll und dann sollen beide Datenbanken sich gegenseitig synchronisieren.

    Genauer geht es um eine App für Android, die sich sowohl mit Windows als auch mit Linux synchronisieren können soll. Wenn das eine Gerät offline ist, soll einfach eine kleine Fehlermeldung ausgegeben werden.
    Gibt es hierfür eine Möglichkeit? Sodass man auch zum Beispiel aus dem Mobilfunknetz aus mit einem PC in einem WLAN-Netz in Verbindung treten kann.
    Das Problem ist, dass damit ja keine festen IP-Adressen verfügbar sind. Gibt es irgendeinen anderen Weg außer über die genaue IP-Adresse?

    Thank you all!





  • Okay, danke.
    Wenn ich das also richtig verstehe, dann muss ich erst die Verbindung zu einem Dynamische-DNS-Anbieter herstellen, mir dort die IP-Adresse holen und dann eine Verbindung zu dem anderen Gerät herstellen.
    Gibt es auch irgendeine unabhängige Lösung ohne Dritt-Anbieter?
    Und gibt es da irgendetwas zu beachten, wenn man über eine IP-Adresse eine Verbindung mit einem anderen Gerät aufbaut? Ein offener Port ist schließlich immer ein Sicherheitsrisiko.



  • Static IP + port forwarding?



  • Dropbox? 🙂 Um mal out-of-the-box zu denken.

    MfG SideWinder



  • Die App soll natürlich möglichst einfach genutzt werden können. Mit einem beliebigen Gerät.
    Wenn dann würde es wohl auf GoogleDrive entfallen, auch wenn ich nach Möglichkeit eigentlich keine anderen Anbieter ins Spiel bringen wollte.

    Sollte ich keine andere Möglichkeit finden, dann muss es eben eine Voraussetzung sein, dass die beiden Geräte sich im gleichen Netzwerk befinden müssen.
    Dann müsste das doch recht einfach umsetzbar sein, oder nicht?
    Die Geräte via MAC-Adresse miteinander "bekannt machen" und dann immer die IP-Adresse abfragen.


  • Mod

    std__cout<<C++ schrieb:

    Die Geräte via MAC-Adresse miteinander "bekannt machen" und dann immer die IP-Adresse abfragen.

    Das ist gaaaaaanz weit weg davon, wie das Internet (oder überhaupt ein Netzwerk) funktioniert.

    Bloß weil dir die bisherigen Antworten nicht gefallen, sind sie nichtsdestotrotz richtig.

    Einfach zu nutzen hieße übrigens sowohl für deine Kunden und für dich selber, für dieses Standardproblem eine Standardlösung zu benutzen, anstatt selber etwas zu frickeln.



  • Falls du tatsaechlich irgendeine app anbieten willst, machs direkt richtig. Stell dir irgendwo einen prod server hin, der deinen service ueber web anbietet.



  • Weshalb funktioniert das nicht?
    Die MAC-Adresse ist eindeutig in einem Netzwerk (z.B. WLAN) und jedes Gerät hat in einem Netzwerk eine eigene IP-Adresse, über die man das Gerät ansprechen kann.

    Dann werde ich mich aber wohl vermutlich auf Google Drive umsteigen. Ist doch eigentlich die Standardlösung schlechthin für Android-Apps, die mit irgendwelchen Daten geräteübergreifend hantieren, oder nicht?

    Ich will die App nicht wirklich anbieten. Allerdings sollte es schon möglich sein, dass sie auch von anderen Personen genutzt werden kann - und logischerweise soll die Benutzung dann eben so einfach wie möglich sein.
    Extra einen Server zu mieten ist mir für so eine kleine Spielerei zu aufwendig und teuer.



  • Prod server war in dem fall einfach nur das "korrekte" buzzword...es reicht ja irgendein gammel-webspace (b-placed bspw. sind recht gut), da hast dann 1 - 2 php files liegen und fertig ist die geschichte.



  • std__cout<<C++ schrieb:

    Dann werde ich mich aber wohl vermutlich auf Google Drive umsteigen. Ist doch eigentlich die Standardlösung schlechthin für Android-Apps, die mit irgendwelchen Daten geräteübergreifend hantieren, oder nicht?

    Die Lösung oder Dropbox (wenn es irgendwann nicht nur Android werden soll), sind vermutlich am Einfachsten. Dann muss der "Server" auch nicht durchgehend aktiv sein.
    Ansonsten ist der Internet orientierte Ansatz tatsächlich mit DNS.

    std__cout<<C++ schrieb:

    Weshalb funktioniert das nicht?
    Die MAC-Adresse ist eindeutig in einem Netzwerk (z.B. WLAN) und jedes Gerät hat in einem Netzwerk eine eigene IP-Adresse, über die man das Gerät ansprechen kann.

    ...

    Ich will die App nicht wirklich anbieten. Allerdings sollte es schon möglich sein, dass sie auch von anderen Personen genutzt werden kann - und logischerweise soll die Benutzung dann eben so einfach wie möglich sein.
    Extra einen Server zu mieten ist mir für so eine kleine Spielerei zu aufwendig und teuer.

    Wenn andere Personen das Ganze nutzen sollen und es muss nicht über das Internet gehen, dann gibt es eine alternative Lösung, die in der Praxis gerne verwendet wird.
    Einer der Teilnehmer (in deinem Fall eher der Server im Netzwerk) schickt in regelmäßigen Abständen (kann einmal pro Sekunde sein) eine "Hallo, hier ist Server/Client XYZ für die ABC App!"-Nachricht als Broadcast. Die entsprechenden Gegenspieler lauschen dauerhaft auf die Broadcastadresse und den entsprechenden Port. Empfangen sie die "Hallo, hier ist Server/Client XYZ für die ABC App!"-Nachricht, dann antworten sie darauf und die Verbindung zwischen beiden Geräten ist hergestellt.
    Das System ist leicht zu implementieren, ist zuverlässig und funktioniert problemlos mit unterschiedlichen Geräten (inkl. MAC Adressen).
    Ein Beispiel dafpr ist das GVCP Protokoll (siehe:
    https://aravisproject.github.io/docs/aravis-0.4/aravis-gvcp.html), welches von Industriekameras verwendet wird.


Anmelden zum Antworten