2017-10-24 1 views
-2

Wir haben Social-Networking-Website, die ein Messenger-Modul (Chat mit Freunden), die in JQUERY, PHP und HTML mit MySQL implementiert ist. Jetzt erstellen wir die Mobile App dieses Messenger-Moduls. Also haben wir uns entschieden, zum ionischen Rahmen zu gehen.Echtzeit-Chat zwischen Website und App

Jetzt ist mein Problem Wie wir R & D gemacht haben, müssen wir GCM oder FCM für den reibungslosen Ablauf von Messenger mit Hintergrund-Service für Echtzeit-Chat und für Push-Benachrichtigung verwenden. Also meine Abfrage ist, wenn wir GCM oder FCM verwenden, und ein Benutzer hat App und ein anderer Benutzer auf der Website, Dann, wie sie über GCM oder FCM kommunizieren können?

Ein anderer Ansatz ist, dass wir GCM oder FCM nicht verwenden, REST-API auf dem Server für die Messenger-App erstellen und diese API im Hintergrund für Messenger aufrufen.

Also welche ist eine gute Annäherung?

Wenn wir REST API verwenden, dann können Sie bitte jedes Beispiel dieses Typs teilen, Wir sind nicht in der Lage, auf Google zu finden.

Bitte teilen Sie Ihre Gedanken, wir kämpfen von den letzten 7 Tagen auf diese.

+0

Verwenden Sie Websockets (bidirektionale Kommunikation) nicht Ajax. –

Antwort

0

Sie müssen WebSockets verwenden

auf der Client-Seite socket.IO ist eine godd Bibliothek), müssen Sie zu einem Socket-Server verbinden (in php Rachet ist gut), wenn die Verbindung geöffnet ist, werden Sie im Grunde eine exponierte clientseitige Methode (Funktion) haben, die der Server direkt auslösen kann.

zB: Sie haben ein Chat-Fenster: zwei Menschen verbinden 1) Person A eine Nachricht an den Server 2) sendet der Server diese neue Nachrichten empfängt, die Auslöser eine Sendung mit dem Socket-Server 3) Die Sendung Anrufe newMessage (Messagetext) auf dem Client (Person B) 4) Alle angeschlossenen Clients zeigen dann die neue Nachricht

Sie können auch private Kanäle (für Räume Chat)

Dies ist ein sehr hohes Niveau Beschreibung mein Verständnis von Web-Sockets (Sie sollten gehen und mehr Forschung über Websockets, aber das i s ein Startpunkt)

+0

Danke für Infos, aber ich möchte auch Nachrichten speichern. Dazu müssen wir nodeJs verwenden? –

+0

Auf dem Server, wenn Person A die Nachricht sendet, speichern Sie diese Nachricht in einer Datenbank. - Der Server-Typ liegt wirklich bei Ihnen. Knoten ist ein guter Socket-Server zu –

0

Ja, Sie müssten Websockets verwenden. Sie sind Push-basiert und unterstützen das publish-subcribe-Paradigma, das dauerhafte Verbindungen mit gleichzeitiger bidirektionaler Kommunikation ermöglicht.

deepstreamHub ist eine gute Alternative zum direkten Einstecken in Ihre bestehende Anwendung. Es ist Open Source und kommt als selbst gehosteter node.js Realtime Server. Sie haben auch diese direct guide erklären, wie Sie einen Echtzeit-Chat implementieren. Es verwendet intern websockets, so dass Sie sich keine Sorgen über die spezifischen Details machen müssen, wie es funktioniert.

Hoffe, das hilft!

+0

Ja, aber Problem ist, wenn ich selbst gehostet node.js verwenden, dann werde ich nicht in der Lage, Daten in MySql DB einfügen, und nicht in der Lage, neue Nachrichten zu holen. Also suche ich nach einem Beispiel basierend auf meiner Anforderung, aber gescheitert. –

+0

Mit deepstream können Sie Ihre eigene Datenbank für den Speicher sowie Ihren eigenen HTTP-Authentifizierungsserver verwenden, wenn Sie auch eine Datenbank von Benutzern für die Authentifizierung verwenden. Sie müssen nur ein Speicherkonnektor-Plugin hinzufügen. Hier ein Beispiel mit postgresql: https://www.youtube.com/watch?v=HJGcWJRbE70 Weitere Informationen zum Speichern von Daten: https://deepstreamhub.com/open-source/core/storing-data/ – Srushtika

Verwandte Themen