2012-04-05 11 views
-1

Ich versuche mit 2 xmpp Clients zu kommunizieren, aber das ist nicht wie Messaging oder Chat. Es ist mehr wie ein Ereignis, das an einem Ende verursacht wird, und eine Aktion, die an einem anderen Ende (Echtzeit) ausgeführt wird. Ich wünsche mir, dass es keine Latenzzeit geben wird, wenn ein Client A versucht, Pakete an Client B zu senden. Wenn verfügbar, gibt es einen möglichen Weg zu minimieren, dass er unbemerkt bleiben sollte. Ist es möglich, dies oder auf andere Weise zu tun?Keine Latenzzeit mit xmpp (smack - openfire)?

Antwort

0

Zunächst ist das noch Messaging.

Wie bei der Latenzzeit wird es immer eine gewisse Latenz geben, wenn Daten zwischen Prozessen gesendet werden. Sie haben nicht gesagt, welche Toleranzstufen Sie suchen, im Gegensatz zu dem, was Sie bekommen, daher ist es schwer zu sagen, was Sie tun sollten, um sie zu verbessern.

Die größten Faktoren für die aktuelle Latenz sind die Nachrichtengröße und die Netzwerkgeschwindigkeit. Natürlich würde direkte Punkt-zu-Punkt-Kommunikation einen Sprung für Ihre Nachricht entfernen, aber ohne Ihre Anwendung zu kennen, gibt es keine Möglichkeit zu sagen, ob dies eine akzeptable Richtung ist.

Eine kleine Nachricht sollte in wenigen Millisekunden in einem schnellen Netzwerk übermittelt werden. Wenn es sich um ein langsames Netzwerk handelt, liegen Ihre Probleme außerhalb eines Kommunikationsprotokolls.

+0

Hallo Robin, Danke für die Antwort. Ich verstehe, dass es eine gewisse Latenz geben wird. Also hier ist mein Anwendungsfall. Die Nachrichtengröße ist sehr gering und beträgt nur jeweils 3 Zeichen. Im Grunde versuchen, etwas wie dieses Spiel http://www.youtube.com/watch?v=WRONDJO28mk "Draw Some Thing" zu entwickeln, senden die X- und Y-Koordinaten der Person, die Oberflächenwerte über den Server auf ein anderes Gerät überträgt, um aktualisiert und angezeigt zu werden Dort. Du bekommst den Fluss richtig ?! Kannst du mir dabei helfen? – Wesley

+0

Draw Etwas funktioniert nicht in Echtzeit, es ist ein asynchrones Spiel. Ich habe etwas getan, das dem ähnlich ist, was du beschreibst (synchron, im Gegensatz zu Draw Something) und Latenz war kein Problem. Haben Sie das selbst getestet, um zu sehen, wie es funktioniert? – Marc

+0

Danke Marc für die Antwort. Ja Freund, ich habe Smack mit Openfire zum Senden von Nachrichten getestet (im Grunde ein Chat wie App). Aber ich dachte, es wäre genauso, etwas in ein Spiel zu implementieren. Aber jetzt siehst du deine Antwort "Draw Something funktioniert nicht in Echtzeit, es ist ein asynchrones Spiel" - ich habe keine Ahnung, was ein asynchrones Spiel ist! kannst du mir bitte in einigen Zeigern oder Hinweisen helfen, etwas Ähnliches zu bauen, um etwas Funktionalität zu zeichnen, nach der ich suche? (S. - Ich habe es noch nicht als Spiel ausprobiert, aber ich wollte Klarheit schaffen) Bitte helfen Sie mir. – Wesley