![]() |
Kommunikation Android-Java-App und Win-Delphi-Programm
Hallo Leute.
Folgendes Problem bei dem mir die zündende Idee fehlt: Ich habe eine in Java erstellte Android App und ein Windows Delphi Programm. Die App soll nun zum Datenaustausch eine Datei an das Delphiprogramm schicken. Nach Verarbeitung soll die Datei zum Android wieder zurück gesendet werden. Eine Kommunikation im WLAN ist ausreichend, muss also nicht zwingend übers Internet laufen. Ich habe mich bereits mit Austausch über TPC/IP (TIdTCPClient / TIdTCPServer) auseinander gesetzt, kriege es aber nicht so wirklich ans laufen. Der Hinweg (Android->Delphi) klappt ganz gut, anders herum kriege ich gar nichts ans laufen. Hat jemand eine Idee wie man es machen kann? Evtl. ein komplett neuer Ansatz? Die Installation soll auf beiden Geräten möglichst einfach sein. Also nach Möglichkeit möchte ich keinen IIS oder Datasnap Server konfigurieren müssen. Ich freue mich auf Eure Ideen und Antworten. Danke |
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
Zitat:
Denn du kannst das ja als Standalone Server ohne IIS oder ähnliches machen. Du hast aber sehr viel mehr Möglichkeiten als bei einer eigenen Kommunikation, da du einfach Funktionen benutzen kannst. Denen kannst du zwischen zwei Delphiprogrammen sogar Streams übergeben und zurückgeben lassen. Ob das auch bei einem Java-Client auch geht (den du ja automatisch als Quelltext erzeugen lassen kannst), weiß ich nicht, aber sonst gibt es sicher andere Möglichkeiten. Ich vermute aber, dass es geht. |
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
Das Android SDK enthält unter anderem HTTP Unterstützung (HttpURLConnection), man kann damit eine Datei per HTTP POST an den Delphi Prozess senden, der dann eine HTTP Server Bibliothek (zum Beispiel Indy TIdHTTPServer) verwendet.
Für die Antwort bestehen mehrere Möglichkeiten: * die Clientanwendung wartet auf die HTTP Response (dann muss diese aber vom Server relativ zeitnah erstellt werden) * die Clientanwendung prüft in Intervallen, ob der Server Daten für ihn hat (Vorteil: keine Timeout-Gefahr) * der Server teilt dem Client auf andere Weise (Mail, GCM, ...) mit dass eine Antwort abgeholt werden kann HTTP hat Vorteile gegenüber 'nacktem' TCP. Zu den verschiedenen HTTP Clients die standardmäßig in Android enthalten sind: ![]() |
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
Gibt es einen groben Richtwert, wie lange die "Verarbeitung" ungefähr dauert? Wäre gefordert, mit dem Mobilgerät auch das Netz zu verlassen, später wiederzukommen und das Ergebnis abzuholen/bekommen?
|
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
Hi, das geht ganz normal. Haben wir schon lange gemacht und geht einwandfrei, egal mit welchem Delphi via TCPIP
siehe ![]() ![]() Dem werden per TCPIP einfache Commandos zum Versenden von SMS gesendet |
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
Datasnap steht derzeit nicht zur Verfügung, aber ich habe auch schon darüber nachgedacht, ob es damit evtl. klappt.
Die Verarbeitung beschränkt sich auf den Austausch von max. 1-2 MB's hin und her. Es ist also nicht gefordert das Netzt zu verlassen, wenn doch ist halt Pech... @arnof: was heißt das geht ganz normal. Wie gesagt, ich kriegt via TIdTCPClient nichts zum Android gesendet !? |
AW: Kommunikation Android-Java-App und Win-Delphi-Programm
schon mal nach der Firewall geschaut, das diese den Port nicht blockt?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz