4 Stimmen

private Nachricht über Websockets

Wie können wir ein privates Nachrichtensystem (von Kunde zu Kunde) mit Websockets (und PHP) implementieren?

Von dem, was ich verstanden habe, sendet der Server die Nachricht und alle Clients können die Nachricht durch connection.onmessage Eventhandler empfangen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Nachricht nur an einen bestimmten Benutzer in den Websockets zu senden?

9voto

leggetter Punkte 14976

Wenn ein Client eine Nachricht sendet ( ws.send( message ); ) wird Ihr WebSocket-Server die Nachricht empfangen. An welche Sockets Sie die Nachricht dann weiterleiten, wird ausschließlich durch Ihren Servercode - Ihre Implementierung - bestimmt.

Um einen Eins-zu-eins-Chat zu erstellen, benötigen Sie eine Möglichkeit, Daten nur zwischen den beiden am Chat beteiligten Clients weiterzuleiten. Außerdem muss sichergestellt werden, dass nur diese beiden Clients diese Informationen erhalten können.

WebSocket-Frameworks bieten in der Regel eine zusätzliche PubSub Schicht z.B. Pusher (für die ich früher gearbeitet habe) tun dies mit Kanäle . Eine ähnliche Terminologie finden Sie auch bei "Themen" und "Themen".

Sobald Sie einen Weg gefunden haben, Daten (Chat-Nachrichten) zwischen nur zwei Clients weiterzuleiten, müssen Sie die Authentifizierung des Abonnements in Betracht ziehen. Weitere Informationen dazu finden Sie in dieser Frage, in der es um Folgendes geht Wie erstelle ich einen privaten Kanal zwischen zwei Benutzern? . Die Frage bezieht sich auf Ruby, ist aber auf jede Technologie anwendbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X