0
は、私は私ができるプライベートメッセージを送信するべきどのようにIOソケットとかなり混乱していますソケットioでプライベートメッセージを送信するには?
アプローチの一つ
socket.emit(`privateMessage:${req.user._id}`, 'someones Private message to User')
とクライアントで、私は、ユーザーIDと、このメッセージを受信してい
アプローチ二
socket.to(socketID).emit(`privateMessage`, 'someones Private message to User')
これを行うための標準的な方法はわかりませんし、私もredis pub subを使用しています。私はかなり混乱していますあなたはちょうどそのユーザーにメッセージを送信するには、対象ユーザのためのsocket
オブジェクトを持っている場合は、標準のアーキテクチャ
素晴らしい!ありがとうしかし、1つの質問 '' 'socket'''オブジェクトはあなたがユーザーIDまたはユーザーに関連する何かを参照していますか? – Nane
@Nane - ユーザーが接続すると、接続を表す実際のJavascriptオブジェクトであるソケットオブジェクトが取得されます。これは接続時に 'io.on( 'connection、function(socket){});であなたに提示されます。私はあなたが既にターゲットユーザのためのソケットオブジェクトを持っている(あなたがそれを保存しているか、そのソケットから他のメッセージを受け取っているか、それを持っているので)、単にsocket.emit()を使うことができます。そうでなければ、socket.ioライブラリに 'io.to(socketID).emit()'であなたのためにそれを探すように頼むことができます。 – jfriend00