Ich muss eine neue Android App (4.1 API 16), Java Server (1.7) als Backend mit Tomcat 7. Kommunikation über HTTP-Anfragen und JSON hinzufügen. Für die App neue Funktionalität ist es erforderlich, dass die Benutzer in Echtzeit kommunizieren können, so habe ich verschiedene Möglichkeiten wie Long Polling, Websocket gefunden. vom Server gesendete Ereignisse. alle Vorschläge werden sehr geschätzt.Was ist der beste Weg für Echtzeit-Kommunikation zwischen Android-Clients?
Antwort
Es geht nicht nur um WhatsApp, es gibt Tonnen von Instant Messenger. Wir haben das Beste, was Android zu bieten hat, abgerundet. So können Sie sich aussuchen, welches am besten zu Ihrem individuellen Geschmack und Ihren Bedürfnissen passt.
Ich persönlich würde empfehlen Firebase als eine der besten Echtzeit-Anwendungen für einen Chat-Messenger. Ich habe meine Gründe im Folgenden aufgeführt:
Documentation, Support, Flexibility, Scope, Reliability, Cost, Complexity
Einige der von Drittanbietern können Sie auch unten aufgeführten verwenden:
PubNub
PubNub bietet über 70 verschiedene SDKs für Sie skalierbar zu entwickeln Echtzeit-Datenstromanwendungen mit weltweit verteilten Rechenzentren und automatischer Replikation und Failover.
OS: FreeBSD
FreeBSD ist das Betriebssystem, auf dem WhatsApp auf gelegt. Kernel Services - Prozessmanagement, Speicherverwaltung, I/O-System, Interprozesskommunikation.
giert (Noch eine andere Web-Server)
giert ist ein Erlang Webserver. Es ist in Erlang geschrieben und verwendet Erlang als seine eingebettete Sprache, ähnlich wie PHP in Apache.
Ejabberd (XMPP) -Server
Ejabberd (XMPP) -Server, die zwischen zwei oder mehreren Benutzern auf einer Echtzeitbasis Instant-Message Transfer erleichtert. Hohe Verlässlichkeit und Nachhaltigkeit auch bei hohem Datenaufkommen ist der Grund, warum sich WhatsApp-Entwickler für Ejabberd entschieden haben. Das XMPP-Protokoll wurde ebenfalls angepasst, um das Anmelden und erneute Signieren von Sitzungen zu beschleunigen.
Erlang
Die verwendete Programmiersprache massiv skalierbaren Software-Systeme in Echtzeit mit Anforderungen an hohe Verfügbarkeit zu bauen. Das Laufzeitsystem verfügt über integrierte Unterstützung für Parallelität, Verteilung und Fehlertoleranz.
PHP Bezüglich der PHP-Integration gibt es wieder mehrere Möglichkeiten, beide Seiten zu kommunizieren. Sie können den Chat mit PHP-Code mit einer PHP Erlang Bridge integrieren. PEB (PHP - Erlang - Bridge) ist eine Open-Sour PHP-Erweiterung, um PHP als Erlang-Knoten zu betreiben.
XMPP
Kommunikationsprotokoll für nachrichtenorientierte Middleware auf XML basiert. XMPP ist schneller als HTTP nur für Echtzeit-Chat-Anwendungen. Es gewährleistet die Netzwerksicherheit und wird für die Übertragung von Nachrichten verwendet. HTML5 WebSockets welche Kommunikationstechnologie, die bidirektionale Kommunikation ermöglicht.
DataBase (Mnesia)
Mnesia DB übernimmt die schwere Aufgabe, Datenbankverwaltung. Mnesia ist ein verteiltes Mehrbenutzer-DBMS, das auch die Standarddatenbank von ERLANG ist. Mnesia hilft dabei, schnellere Anforderungsantworten zu erzielen, wodurch die Gesamteffizienz verbessert wird.
- 1. Was ist der beste Weg
- 2. was der beste Weg
- 3. Was ist der beste Weg, Hashes zusammenzuführen?
- 4. Was ist der beste Weg zu
- 5. Was ist der beste Weg für komplexes Shape-Matching?
- 6. Was ist der beste Weg für Web-Adressierung
- 7. Was ist der beste Weg für die Einführung von Webanwendungen?
- 8. Was ist der beste Weg, ein UIButton-Kontrollkästchen zu erstellen?
- 9. Was ist der beste Weg, um Daten in nodejs mongoose
- 10. Was ist der beste Weg, Performance-Probleme zu debuggen?
- 11. Was ist der beste Weg für die Kommunikation zwischen Prozessoren in Linux?
- 12. Was ist der beste Weg, Tastenkombinationen in Eigentümerform zu sperren?
- 13. Webpack mit WordPress Plugins, was ist der beste Weg?
- 14. Was ist der beste Weg, um jQuery .change()
- 15. Was ist der beste Weg, um eine boolesche Variable umzuschalten?
- 16. Was ist der beste Sortieralgorithmus für Papier?
- 17. Was ist der beste Weg, mit AWT Graphics Kontexten umzugehen?
- 18. Was ist der beste Weg, Winforms-Apps fern zu steuern?
- 19. Was ist der beste Weg, um Datei mit der Bedingung
- 20. Was ist der beste Weg, um Ajax Anrufe durchlaufen
- 21. Was ist der beste Weg, um gemeinsame Felder zwischen Tabellen in der Datenbank zu pflegen?
- 22. Was ist der beste Weg, um die Reihenfolge zwischen den Zeilen in der Datenbank zu speichern?
- 23. Was ist der beste Weg, um mit NHibernate zu beginnen?
- 24. Was ist der beste Weg, um Daten in Webapi
- 25. Was ist der beste Weg, Google Drive URL zu identifizieren?
- 26. Was ist der beste Weg, Ausnahmen in Perl zu behandeln?
- 27. Was ist der beste Weg, EventDispatcher in EntityRepository zu injizieren?
- 28. Was ist der beste Weg, Degrees konvertieren zu Quadranten Namen
- 29. Was ist der beste Weg, Programme in Windows zu vergleichen?
- 30. Was ist der beste Weg, AdMob zu verwenden?
Wird wahrscheinlich geschlossen werden, weil "opinion-based", aber es ist eine interessante Frage. –
hängt auch von der Anforderung ab. Wenn die Kommunikationsanforderung kleiner ist, schlage ich vor, Firebase dafür zu verwenden. –
@ShubhankGupta die Clients sollten in der Lage sein, Gruppen zu bilden, in denen sie Daten austauschen. Firebase ist keine Option, weil es nicht kostenlos ist. – user2830405