Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Netzwerkkommunikation bei Mau-Mau App

Das Thema "Netzwerkkommunikation bei Mau-Mau App" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 06.01.2012, 05:12   #1 (permalink)
Neuer Benutzer

Registriert seit: 06.01.2012
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard Netzwerkkommunikation bei Mau-Mau App

Hallo Zusammen,

ein Kommilitone und ich müssen eine Mau-Mau App entwickeln. Man soll das Spiel zu zweit per Netzwerk / Internet spielen können. Hierbei stellt sich mir allerdings die Frage, wie man die Netzwerkkommunikation am Besten umsetzt. Der Server soll eine Java-Anwendung sein.

Macht es Sinn, ein Protokoll zu entwickeln (wir dachten an JSON) und dann eine einfache Socketverbindung zu verwenden oder sollte man doch lieber auf Webservices o.Ä. zurückgreifen?

Bin für hilfreiche Antworten dankbar!

Grüße
Arkadius
arkadiusj ist offline   Mit Zitat antworten
Alt 06.01.2012, 07:51   #2 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Hi,

ich benutze auch einen Java-Server, um die Kommunikation zu steuern. Da ich wissen muß, ob jemand online ist oder nicht, brauch ich ja ne richtige Verbindung (socket connection). Also glaub ich kaum, daß man mit Webservices sowas machen kann.
JSON benutz ich auch nicht, ich übertrage meine Daten direkt über die Input- und Output-Streams der Sockets und verschlüssele meine Daten mit MD5.
Tom299 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag:
arkadiusj (06.01.2012)
Alt 06.01.2012, 08:47   #3 (permalink)
Neuer Benutzer

Registriert seit: 06.01.2012
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Zitat:
Zitat von Tom299 Beitrag anzeigen
Hi,
ich benutze auch einen Java-Server, um die Kommunikation zu steuern. Da ich wissen muß, ob jemand online ist oder nicht, brauch ich ja ne richtige Verbindung (socket connection). Also glaub ich kaum, daß man mit Webservices sowas machen kann.
Stimmt! Daran habe ich gar nicht gedacht.
Zitat:
Zitat von Tom299 Beitrag anzeigen
JSON benutz ich auch nicht, ich übertrage meine Daten direkt über die Input- und Output-Streams der Sockets und verschlüssele meine Daten mit MD5.
Wie sieht denn dein Protokoll aus?
arkadiusj ist offline   Mit Zitat antworten
Alt 06.01.2012, 09:16   #4 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Ich übertrage einfach Strings zwischen Server und Client. Beim Lesen parse ich dann und prüfe die Echtheit immer mit der MD5-Checksumme.

Aber da bist du ja frei und kannst deine eigenen Kommandos usw. benutzen, ganz wie du magst :-)

Mal so als einfaches Beispiel:
Der Client meldet sich beim Server an, dann könnte der String des Clients z.B. so aussehen:

Code:
long time = System.currentTimeMillis();
String pw = "1234";
String toSend = "init#" + clientid + "#" + time + "#" + "deine daten#" + encodeMD5("init#" + clientid + "#" + time + "#" + pw);
Durch die Zeit (time) hast du in diesem Fall schon mal etwas dynamisches, damit die MD5 jedes Mal anders ist.
Auf Server-Seite weißt du ja, wie du den MD5 aufbaust, also liest du den InputStream, suchst z.B. nach strInput.startsWith("init") und splittest dann mittels deinem Trennzeichen, hier wäre es dann .split("#")
Damit kennst du die Parameter, um deine MD5 auf Server-Seite zu generieren und zu vergleichen. Wenns die gleiche MD5 ist, dann ist der init korrekt und "deine daten" sind die gewollten.

Vielleicht gibts noch bessere Methoden, aber ich habs erst mal so gelöst und bin damit zufrieden :-)
Tom299 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag:
arkadiusj (06.01.2012)
Alt 06.01.2012, 09:32   #5 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Darf ich mal den Oberlehrer machen?
MD5 verschlüsselt nicht - damit signiert man nur.

Aber die Idee, ein pw mit einzuhashen, ist gut!
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 06.01.2012, 09:36   #6 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Ja stimmt, man signiert nur ;-)

Aber ich vertraue meiner Signatur und wenn sie nicht übereinstimmt, dann kümmert mich der Datenteil bzw. die ganze Anfrage nicht. Verschlüsseln könnte man das ganze natürlich auch, aber in meinem Fall ist mir das egal, ob jemand mitsnifft oder nicht. Außerdem kann man auch noch Datenmüll reinpacken, der interessant aussieht, aber auf der anderen Seite einfach ignoriert wird :-)
Tom299 ist offline   Mit Zitat antworten
Alt 06.01.2012, 09:50   #7 (permalink)
Neuer Benutzer

Registriert seit: 06.01.2012
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Zitat:
Zitat von Tom299 Beitrag anzeigen
Ich übertrage einfach Strings zwischen Server und Client. Beim Lesen parse ich dann und prüfe die Echtheit immer mit der MD5-Checksumme.

Aber da bist du ja frei und kannst deine eigenen Kommandos usw. benutzen, ganz wie du magst :-)

Mal so als einfaches Beispiel:
Der Client meldet sich beim Server an, dann könnte der String des Clients z.B. so aussehen:

Code:
long time = System.currentTimeMillis();
String pw = "1234";
String toSend = "init#" + clientid + "#" + time + "#" + "deine daten#" + encodeMD5("init#" + clientid + "#" + time + "#" + pw);
Durch die Zeit (time) hast du in diesem Fall schon mal etwas dynamisches, damit die MD5 jedes Mal anders ist.
Auf Server-Seite weißt du ja, wie du den MD5 aufbaust, also liest du den InputStream, suchst z.B. nach strInput.startsWith("init") und splittest dann mittels deinem Trennzeichen, hier wäre es dann .split("#")
Damit kennst du die Parameter, um deine MD5 auf Server-Seite zu generieren und zu vergleichen. Wenns die gleiche MD5 ist, dann ist der init korrekt und "deine daten" sind die gewollten.

Vielleicht gibts noch bessere Methoden, aber ich habs erst mal so gelöst und bin damit zufrieden :-)
Alles Klar. Geht so in die Richtung, wie wir das machen wollten. Nur das wir halt JSON für die Formatierung verwenden.
Vielen Dank schon mal!
arkadiusj ist offline   Mit Zitat antworten
Alt 06.01.2012, 09:54   #8 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Kannst mir deine Lösung bzw. den Ansatz ja auch mal irgendwann zeigen, vielleicht überzeugst du mich ja davon, daß ich auch JSON nutzen sollte :-)
Tom299 ist offline   Mit Zitat antworten
Alt 06.01.2012, 10:21   #9 (permalink)
Neuer Benutzer

Registriert seit: 06.01.2012
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Netzwerkkommunikation bei Mau-Mau App

Zitat:
Zitat von Tom299 Beitrag anzeigen
Kannst mir deine Lösung bzw. den Ansatz ja auch mal irgendwann zeigen, vielleicht überzeugst du mich ja davon, daß ich auch JSON nutzen sollte :-)
Kann ich machen.
arkadiusj ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
App blockiert SMS Versand bei bei Nexus S Silentfreak07 Nexus S Forum 0 02.11.2011 14:07
Suche App die App bei USB-Verbindung startet bxig Tools 2 30.06.2011 11:49
Problem bei App-Installation: hängt sich bei 13% auf, kann nicht deinstalliert werden PrimalFear2307 Samsung Galaxy S (I9000) Forum 6 19.06.2011 13:31
Musikwiedergabe(qualität) per Kopfhörer ist mau Steve95 LG GT540 Forum 10 12.02.2011 00:39
Fehler bei HTC Mail-App und Exchange ActiveSync bei Mails mit Anhängen? BUMBL3BEE HTC Desire Forum 2 04.05.2010 12:55




Du liest gerade: "Netzwerkkommunikation bei Mau-Mau App" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.