2017-05-01 9 views
0

私は、PHP WebSocketサーバ(ラチェット)への接続を開始する各ユーザを識別したいとしましょう。ウェブソケットとユーザID(PHP)

各ユーザーは自分のデータベースに一意のトークンを持っています(セキュリティは十分ではありませんが、この例は単純にしておきます)。

WSサーバーへの接続を開くときにこのトークンを送信する必要があります。それがどのユーザーにも一致するかどうかチェックしてください。はいの場合は、WSの接続IDを保存して保存しますws接続。

接続ユーザーID 1希望の接続ユーザーIDを2

にメッセージを送信するために私がメッセージを送信できるようにするには、データベース内のユーザ2の接続IDを検索する必要がありますか?または、メモリや何かにとどまり、WSサーバーがいつでもアクセスできるグローバルアレイのような代替手段がありますか?私はちょうどこれがあれば、データベースを要求するよりも少ない重いだろう「ユーザーID」と「WS接続ID」を直接メモリ内か何か

答えて

0

との間のリンクを保存することができれば、これは、データベースを要求するよりも少ない重いだろう「メモリに保存」で、あなたは同じセッション上意味場合、私はちょうどそのPHP SESSIONSは何ですか、メモリか何か

に直接「ユーザーID」と「WS接続ID」との間のリンクを格納することができあなたが必要です。こうすることで、同じセッション内でアクセスしたいすべての情報が文字通り「メモリに格納されます」。

+0

ウェブソケットはウェブサーバーと同じセッションをサポートしていますか? – nogad

+0

彼はPHPライブラリである 'Ratchet'を使用しています。 –

+0

はい、しかしセッションは1人のユーザーにリンクされています。私は、毎回自分のデータベースに接続せずに複数のユーザーの接続を一度に見つけることができるように、各ユーザーと各接続の間のリンクを格納するグローバルアレイを必要とします – Owow

関連する問題