pc向けのweb、SP向けのアプリにそれぞれwebsocket接続するアプリを作っています。
環境
socket.io用サーバー(websocketで利用)
apiサーバー(redisを利用してsocket.ioサーバーと接続している)
フロント(socket.io-client)
やりたいこと
ログインユーザーにメッセージがあったときに、pc,sp双方に対してemitしたい
現状やっている方法
- 「自分一人しか参加していないroom」を作成
- そのユーザーに対してのメッセージがあったときに、上記roomに対してemit
といったことをしています
困ったこと
原因が特定できていないのですが、websocketのコネクションは繋がっているのに、roomから離脱してしまうということがあります。
そこで、
- 定期的にroomへの参加をチェック
- 参加していない場合は参加させる
という処理をしようかと考えています。
(独自のping-pongを作成し、client側でroomに対しての参加をチェックしようかと考えました)
上記のような実装方針で考えているのですが、リクエスト数も無駄に増えるだろうし、ping-pongを独自で実装するのもあまりイケていないように感じます。
実装方針でもなんでもよいのですが、どのようにするのがベストプラクティスなのでしょうか??
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/07 09:23
2018/03/07 09:37
2018/03/07 09:42
2018/03/07 09:45
2018/03/07 10:12
2018/03/07 13:09
2018/03/07 16:15 編集