2016-07-06 9 views
0

私はNodeJS、Express、およびMongoDBを使用してWebアプリケーションを使用しています。私のアプリケーションでは、アプリケーションにアクセスする誰にでも見えるビューがあります。そのビューは、ユーザーが表示することを選択する(ログインする必要はありません)、つまりビューがmapView/mapIdであることに応じて、別のイメージでレンダリングされます。socket.ioを使用して特定のビュー/ IDにデータを送信

これで、そのページにある通知に対してリアルタイムで通知が欲しいと思います。特定のイベントが外部ソースから発生した場合、そのイベントが属するビューにポップアップを表示する必要があります。したがって、イベントは1つのmapView/mapIdにのみ属し、異なるIDを持つ別のmapViewには属しません。同じmapView/mapId上のすべてのユーザーに通知が表示されます。覚えておいてください、これらはログインする必要のない一般ユーザーです。

私はリアルタイムアプリケーションを作成するためのものだと知っているので、私はSocket.ioを研究しています。しかし、これが正しい方向に進むのかどうかは疑問です。正しいmapView/mapIdにデータをどのように送信しますか?あなたのserver can do with rooms

アイデアは、あなたの接続のそれぞれは、特定のビューから、部屋に結合されていることは何か

+0

特定の問題のコード例を含めることができますか?この質問は、見るべき特定のコードがなければ答えにくいです。 –

答えて

1

チェックアウト。次に、サーバーからのsocket.ioを使用して、その部屋にのみメッセージを送信します。そして、それらのソケットだけがメッセージを受け取るでしょう。

+0

クール!!あなたが特定の意見を言うとき。 mapView/12345はmapView/6789とは別のビューですか?申し訳ありませんが、私はこれに新しいです。 – unconditionalcoder

+0

それぞれに異なる部屋を作ることができます。 1つのサーバは、接続がそのビューにあることがわかると、サーバはそのソケットを 'socket.join( '12345')の部屋にサブスクライブします。ユーザがビューを変更すると、サーバは 'socket.leave( '12345')し、新しいものを' .join'する必要があります。 – clay

関連する問題