4

Websocket (および PHP) を使用してプライベート メッセージ システム (クライアントからクライアントへ) を実装するにはどうすればよいでしょうか?

私が理解したことから、サーバーはメッセージをブロードキャストし、すべてのクライアントは connection.onmessage イベントハンドラーを介してメッセージを受信できます。Websockets で対象のユーザーにのみメッセージを送信する方法があるかどうか疑問に思っていましたか?

4

1 に答える 1

9

クライアントがメッセージを送信すると(ws.send( message );)、WebSocketサーバーがメッセージを受信します。次に送信するソケットは、サーバーコード(実装)によって完全に決定されます。

1対1のチャットを作成するには、チャットに関与している2つのクライアント間でデータをルーティングする方法が必要です。また、これら2つのクライアントだけがその情報を受信できることを認証する方法も必要です。

WebSocketフレームワークは、追加のPubSubレイヤーを提供する傾向があります。たとえば、Pusher(以前は私が働いていた)は、チャネルを使用してこれを行います。「主題」と「トピック」とともに同様の用語が見つかります。

2つのクライアント間でデータ(チャットメッセージ)をルーティングする方法ができたら、サブスクリプションの認証を検討する必要があります。2人のユーザーの間にプライベートチャネルを作成するにはどうすればよいかを尋ねるこの質問を介して、詳細情報を見つけることができます。質問はRubyに関するものですが、どのテクノロジーにも当てはまります。

于 2013-03-18T10:34:14.397 に答える