2016-08-05 9 views
0

Ich baue eine App mit MEAN Stack (etwas wie Facebook). Ein Benutzer kann sich also mit verschiedenen Browsern in meiner App anmelden. Wenn beispielsweise der Benutzer der MongoDB eine neue Nachricht hinzufügen möchte, möchte ich seine Nachrichten in den anderen Sitzungen aktualisieren. Das selbe von er wird eine Massage entfernen. Gleichzeitig können verschiedene Benutzer verschiedener Browser angemeldet sein und ich möchte den Benutzer in den anderen Sitzungen über sein Update informieren.Senden Sie Updates an einen Benutzer mit Socket.io und Nodejs

Unterstützt Socket.io eine solche Option? Und was ist der beste Weg, es zu tun?

Danke.

Antwort

0

Ja socket.io unterstützt das. Hier ist ein Beispiel, hergestellt von Socket.io selbst: https://github.com/socketio/socket.io/tree/master/examples/chat

Sie sollten für socket.on() suchen, die die Zuhörer für eine Veranstaltung auf der Server-Seite sind und schauen Sie in socket.emit(), die der Absender der Ereignisse sind. Die .emit() könnte zu einer Funktion hinzugefügt werden, die beispielsweise bei einem Tastenklick ausgelöst wird.

Wenn Sie die Nachricht an jeden Benutzer senden möchten, der Ihre App verwendet, können Sie je nach Bedarf den obigen Code verwenden. Aber wenn Sie nur zu einer bestimmten Liste von Personen senden möchten, sollten Sie in etwas schauen, das Zimmer (http://socket.io/docs/rooms-and-namespaces/#rooms) genannt wird. Dies funktioniert genau so, wie es sich anhört, es sendet die Nachrichten an den spezifischen Raum, zu dem Benutzer hinzugefügt wurden, wenn sie eine Verbindung zu Ihrer Anwendung herstellen.

+0

Wenn ein Benutzer sich anmeldet, öffnet sich ein Raum für ihn und wenn er sich mit einem anderen Browser anmeldet, werde ich ihn zu seinem Zimmer hinzufügen und dann dieses Zimmer jedes Update senden, das ich will, oder? – iseif

Verwandte Themen