私は、PHP WebSocketサーバ(ラチェット)への接続を開始する各ユーザを識別したいとしましょう。ウェブソケットとユーザID(PHP)
各ユーザーは自分のデータベースに一意のトークンを持っています(セキュリティは十分ではありませんが、この例は単純にしておきます)。
WSサーバーへの接続を開くときにこのトークンを送信する必要があります。それがどのユーザーにも一致するかどうかチェックしてください。はいの場合は、WSの接続IDを保存して保存しますws接続。
接続ユーザーID 1希望の接続ユーザーIDを2
にメッセージを送信するために私がメッセージを送信できるようにするには、データベース内のユーザ2の接続IDを検索する必要がありますか?または、メモリや何かにとどまり、WSサーバーがいつでもアクセスできるグローバルアレイのような代替手段がありますか?私はちょうどこれがあれば、データベースを要求するよりも少ない重いだろう「ユーザーID」と「WS接続ID」を直接メモリ内か何か
ウェブソケットはウェブサーバーと同じセッションをサポートしていますか? – nogad
彼はPHPライブラリである 'Ratchet'を使用しています。 –
はい、しかしセッションは1人のユーザーにリンクされています。私は、毎回自分のデータベースに接続せずに複数のユーザーの接続を一度に見つけることができるように、各ユーザーと各接続の間のリンクを格納するグローバルアレイを必要とします – Owow