2017-11-26 2 views
0

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?

+0

Wird wahrscheinlich geschlossen werden, weil "opinion-based", aber es ist eine interessante Frage. –

+0

hängt auch von der Anforderung ab. Wenn die Kommunikationsanforderung kleiner ist, schlage ich vor, Firebase dafür zu verwenden. –

+0

@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

Antwort

3

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.

Plz check reference url

Verwandte Themen