Plattformunabhängige Kommunikation - Protokoll und Standards
Plattformunabhängige Kommunikation - Protokoll und Standards
Hello World,
für meine Arbeit suche ich eine Möglichkeit einen Server mit einem mobilen Endgerät kommunizieren zu lassen. Der Server wird dabei direkt über WLAN, also kein Webserver, angesprochen.
Meine Frage ist nun, wie ein entsprechendes plattformunabhängiges Kommunikationsprotokoll aussehen müsste.
Meine Idee ist es XML zu nutzen, da es ein festgelegter Standard ist und es Parser in quasi jeder Sprache gibt. Dafür würde sich nach jetzigem Wissensstand eigentlich SOAP eignen. Die entsprechenden Schnittstellen müssten dann für jede (verwendete) Plattform einmal implementiert werden.
Ums mal an einem Prototypen festzumachen. Ich will einen Laptop über WLAN mit einem Android-Smartphone verbinden. Dieses soll dann entsprechende Funktionen einer Serverapplikation auf dem Laptop nutzen. Der Anwendung sollen dann nur eine bestimmte Anzahl von Funktionen zur Verfügung gestellt werden.
Was haltet ihr von dem Ansatz mit SOAP? Verrenne ich mich da irgendwie oder habt ihr da jetzt schon einen enormen Facepalm klatschen lassen?
Ich bin in der Phase in der ich noch offen für Vorschläge, Anregungen oder Jobwechsel bin
Also immer her mit eurem Wissen? Wegweiser wären sehr hilfreich...
CIAO
für meine Arbeit suche ich eine Möglichkeit einen Server mit einem mobilen Endgerät kommunizieren zu lassen. Der Server wird dabei direkt über WLAN, also kein Webserver, angesprochen.
Meine Frage ist nun, wie ein entsprechendes plattformunabhängiges Kommunikationsprotokoll aussehen müsste.
Meine Idee ist es XML zu nutzen, da es ein festgelegter Standard ist und es Parser in quasi jeder Sprache gibt. Dafür würde sich nach jetzigem Wissensstand eigentlich SOAP eignen. Die entsprechenden Schnittstellen müssten dann für jede (verwendete) Plattform einmal implementiert werden.
Ums mal an einem Prototypen festzumachen. Ich will einen Laptop über WLAN mit einem Android-Smartphone verbinden. Dieses soll dann entsprechende Funktionen einer Serverapplikation auf dem Laptop nutzen. Der Anwendung sollen dann nur eine bestimmte Anzahl von Funktionen zur Verfügung gestellt werden.
Was haltet ihr von dem Ansatz mit SOAP? Verrenne ich mich da irgendwie oder habt ihr da jetzt schon einen enormen Facepalm klatschen lassen?
Ich bin in der Phase in der ich noch offen für Vorschläge, Anregungen oder Jobwechsel bin
Also immer her mit eurem Wissen? Wegweiser wären sehr hilfreich...
CIAO
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
?Only86 hat geschrieben:Hello World,
für meine Arbeit suche ich eine Möglichkeit einen Server mit einem mobilen Endgerät kommunizieren zu lassen. Der Server wird dabei direkt über WLAN, also kein Webserver, angesprochen.
WLAN ist ein Übertragungsstandard, also Funk-Ethernet. Darüber läuft vermutlich TCP/IP - nehme ich mal an. Und damit stellst Du wiederum die Anfrage an einen Empfänger (den Server), welcher dann einen Service, z.B. einen Webseiten-Service anbietet, was den Server zum "Webserver" macht.
SOAP ist quasi XML, das in der Regel über HTTP vermittelt wird.Only86 hat geschrieben:Meine Frage ist nun, wie ein entsprechendes plattformunabhängiges Kommunikationsprotokoll aussehen müsste.
Meine Idee ist es XML zu nutzen, da es ein festgelegter Standard ist und es Parser in quasi jeder Sprache gibt. Dafür würde sich nach jetzigem Wissensstand eigentlich SOAP eignen. Die entsprechenden Schnittstellen müssten dann für jede (verwendete) Plattform einmal implementiert werden.
Plattformübergreifende Implementierungen sollten auffindbar sein.
Um das nochmal zusammen zu fassen... Du willst eine Verbindung zwischen zwei Computern über ein Netzwerk machen. Ja, SOAP wäre eine Lösung.Only86 hat geschrieben:Ums mal an einem Prototypen festzumachen. Ich will einen Laptop über WLAN mit einem Android-Smartphone verbinden. Dieses soll dann entsprechende Funktionen einer Serverapplikation auf dem Laptop nutzen. Der Anwendung sollen dann nur eine bestimmte Anzahl von Funktionen zur Verfügung gestellt werden.
Why not?Only86 hat geschrieben:Was haltet ihr von dem Ansatz mit SOAP? Verrenne ich mich da irgendwie oder habt ihr da jetzt schon einen enormen Facepalm klatschen lassen?
Only86 hat geschrieben:Ich bin in der Phase in der ich noch offen für Vorschläge, Anregungen oder Jobwechsel bin
Also immer her mit eurem Wissen? Wegweiser wären sehr hilfreich...
Es spricht nichts dafür und nichts dagegen, weil mehr Informationen sind eigentlich nicht da. Die Frage ist, was willst Du eigentlich tun. Android Händis werden vermutlich nur kleine Botschaften versenden und auch keine nennenswerten Antworten erwarten. Damit wäre HTTP ein akzeptables Protokoll und SOAP eine akzeptable Nachrichtenkodierung.
Eine E-Mail mit einer INI-Datei wäre prinzipiell auch möglich, aber vermutlich komplizierter.
Man könnte auch was ganz einfaches machen, sich die ganze Seife sparen und einfache Nachrichten "pingen". Bleibt die Frage - was willst Du eigentlich tun? ^^
Ein Protokoll "muss" nicht irgendwie aussehen, das legst Du selbst fest, danach müssen sich aber alle Seiten einig sein. SOAP ist eine Empfehlung neben anderen Empfehlungen und Standards usw.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Zur Verbindung zweier Geräte gibt es 1001 Möglichkeiten, auch Plattform übergreifend.
Die Frage ist also nun nicht, was das beste ist, sonder was du nutzen willst.
Generell ist es egal, was du an Daten überträgst, denn TCP/IP ist standardisiert. Das heißt, dein handy und dein Laptop verstehen sich auch schon so.
Daher musst du nur noch nen Kommunikationskanal öffnen und darauf deine Daten übertragen.
Was nun deine Daten sind, ist egal. Ob XML oder irgendwas anderes.
Du brauchst nicht einmal einen "Standard", denn du hast die Macht dir einen eigenen zu Definieren, der deinen Anforderungen entspricht, du musst ihn dann nur so niederschreiben, das ihn andere auch verstehen können
Für TCP/IP Verbindungen haben Android und Linux/Mac/Windows alle schon Bibilotheken, mit denen das recht komfortabel geht(ich hab mal in 50 Zeilen ne Remote Maus-Steuerung Programmiert).
Das heißt, dir bleibt immer die Lösung, es selber zu machen.
Was du aber Wahrscheinlich suchst, sind Möglichkeiten das noch angenehmer zu gestalten.
Dazu solltest du dir mal SSH oder VNC anschauen.
MfG cloidnerux.
Die Frage ist also nun nicht, was das beste ist, sonder was du nutzen willst.
Generell ist es egal, was du an Daten überträgst, denn TCP/IP ist standardisiert. Das heißt, dein handy und dein Laptop verstehen sich auch schon so.
Daher musst du nur noch nen Kommunikationskanal öffnen und darauf deine Daten übertragen.
Was nun deine Daten sind, ist egal. Ob XML oder irgendwas anderes.
Du brauchst nicht einmal einen "Standard", denn du hast die Macht dir einen eigenen zu Definieren, der deinen Anforderungen entspricht, du musst ihn dann nur so niederschreiben, das ihn andere auch verstehen können
Für TCP/IP Verbindungen haben Android und Linux/Mac/Windows alle schon Bibilotheken, mit denen das recht komfortabel geht(ich hab mal in 50 Zeilen ne Remote Maus-Steuerung Programmiert).
Das heißt, dir bleibt immer die Lösung, es selber zu machen.
Was du aber Wahrscheinlich suchst, sind Möglichkeiten das noch angenehmer zu gestalten.
Dazu solltest du dir mal SSH oder VNC anschauen.
MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Neugier, Zeigen! => Wiki. ^^cloidnerux hat geschrieben:Für TCP/IP Verbindungen haben Android und Linux/Mac/Windows alle schon Bibilotheken, mit denen das recht komfortabel geht(ich hab mal in 50 Zeilen ne Remote Maus-Steuerung Programmiert).
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Bin zwar kein Java-Fan, aber ich werfe mal RMI in den Raum
Da könnte ich auch irgendwann (= nach Qt) ein kurzes Tutorial dazu erstellen... ^^
Da könnte ich auch irgendwann (= nach Qt) ein kurzes Tutorial dazu erstellen... ^^
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Ist in C# geschrieben -> Windows, kann ich aber vorstellen.Neugier, Zeigen! => Wiki. ^^
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Schade, nicht mehr ganz so neugierig, aber würde mich trotzdem über einen cs:artikel:remotemouse begeistern.cloidnerux hat geschrieben:Ist in C# geschrieben -> Windows, kann ich aber vorstellen.Neugier, Zeigen! => Wiki. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Hey,
schon mal danke für die vielen Antworten.
Also, was will ich machen? Ich möchte mich zunächst mit dem Client beim Server authentifizieren. Anschließend werden meist Filterparameter vom Client an den Server übertragen, der einen permanenten STream daraufhin auf bestimmte Signale filtert. Diese Informationen sollen dann wiederum vom Server an den Client übertragen werden. Ein Nachrichtenaustausch geschieht dabei alle paar Sekunden (auch abhängig von den Zykluszeiten der entsprechenden Signale), weshalb ich eine email für ungeeignet halte. Da WLan genutzt wird, sehe ich das mit der Bandbreite im Moment nicht so eng und verschmerze auch den Overhead bei XML. Im Moment sind nur der Client und der Server in diesem angesiedelt. Ich werde natürlich noch untersuchen, wie hoch das Datenaufkommen ist und wie sich dieses reduzieren lassen würde.
Also ich fasse nochmal kurz zusammen. Mögliche Ansätze wären jetzt:
- SOAP
- TC/IP-Sockets
- eigener "Standard" (habt ihr dazu mehr Informationen, Beispiele oder einen Hinweis, weil ich damit nicht viel anfangen kann)
- RMI (ich habs mal kurz nachgeschlagen, aber es sieht aus als wäre es nur für JAVA verfügbar und damit schon ungünstig für meine Zwecke)
Könntet ihr da noch ein paar Begriffe einwerfen? Ich würde dann recharchieren, vergleichen und das Beste für dieses EInsatzgebiet auswählen.
schon mal danke für die vielen Antworten.
Also, was will ich machen? Ich möchte mich zunächst mit dem Client beim Server authentifizieren. Anschließend werden meist Filterparameter vom Client an den Server übertragen, der einen permanenten STream daraufhin auf bestimmte Signale filtert. Diese Informationen sollen dann wiederum vom Server an den Client übertragen werden. Ein Nachrichtenaustausch geschieht dabei alle paar Sekunden (auch abhängig von den Zykluszeiten der entsprechenden Signale), weshalb ich eine email für ungeeignet halte. Da WLan genutzt wird, sehe ich das mit der Bandbreite im Moment nicht so eng und verschmerze auch den Overhead bei XML. Im Moment sind nur der Client und der Server in diesem angesiedelt. Ich werde natürlich noch untersuchen, wie hoch das Datenaufkommen ist und wie sich dieses reduzieren lassen würde.
Also ich fasse nochmal kurz zusammen. Mögliche Ansätze wären jetzt:
- SOAP
- TC/IP-Sockets
- eigener "Standard" (habt ihr dazu mehr Informationen, Beispiele oder einen Hinweis, weil ich damit nicht viel anfangen kann)
- RMI (ich habs mal kurz nachgeschlagen, aber es sieht aus als wäre es nur für JAVA verfügbar und damit schon ungünstig für meine Zwecke)
Könntet ihr da noch ein paar Begriffe einwerfen? Ich würde dann recharchieren, vergleichen und das Beste für dieses EInsatzgebiet auswählen.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Darf ich erstmal fragen, welche Programmiererfahrung Du hast?Only86 hat geschrieben:Also, was will ich machen?
Wenn Du dauerhaft aktiv sein möchtest, schreib doch mal eine Uservorstellung und pack die Info rein.
SOAP wie auch ein eigener "Standard" und auch RMI würden über TCP/IP realisiert.Only86 hat geschrieben:Also ich fasse nochmal kurz zusammen. Mögliche Ansätze wären jetzt:
- SOAP
- TC/IP-Sockets
- eigener "Standard" (habt ihr dazu mehr Informationen, Beispiele oder einen Hinweis, weil ich damit nicht viel anfangen kann)
Über Ethernet (LAN und WLAN) werden Daten über das Protokoll TCP/IP-Datenpakete übertragen. In den Datenpaketen liegen die Daten mittels HTTP, FTP, ..., RMI oder Deine eigene Datenzusammenstellung "Standard" übertragen werden.
RMI ist Java only.Only86 hat geschrieben: - RMI (ich habs mal kurz nachgeschlagen, aber es sieht aus als wäre es nur für JAVA verfügbar und damit schon ungünstig für meine Zwecke)
Also kein Java.
listen, bind, socketOnly86 hat geschrieben:Könntet ihr da noch ein paar Begriffe einwerfen? Ich würde dann recharchieren, vergleichen und das Beste für dieses EInsatzgebiet auswählen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Plattformunabhängige Kommunikation - Protokoll und Stand
Es gibt auch CORBA, das hab ich aber ehrlich gesagt noch nie verwendet.Only86 hat geschrieben:- RMI (ich habs mal kurz nachgeschlagen, aber es sieht aus als wäre es nur für JAVA verfügbar und damit schon ungünstig für meine Zwecke)