2016-11-21 7 views
0

Socket.ioがたくさん参加し、私は、サーバーがソケットを介してユーザに通知を渡すWebアプリケーションを作成していroomsは、大量のメッセージを放ち対部屋

を使用して、特定の受信者に対処するための最初のクラスのサポートを提供しています。 io。それは市場です。ユーザーは記事を好き/購入/販売している可能性があり、したがって何かが変化したときにサーバーから通知されます。

ここでは、ユーザーがログインに興味のあるすべての記事の部屋に参加するか、何かが変更されたときに個々のユーザーごとにメッセージを出すかどうかを選択する必要があります。

さらに効率的です。ベストプラクティスはありますか?間違った視点からこの問題に取り組んでいますか?

答えて

1

ルームは、ソケットのリストを追跡するためのサーバー上の構成要素です。部屋にブロードキャストすると、socket.ioのコードはすべてソケットのリストをループし、それぞれのメッセージを個別に送信します。

いずれの場合も、メッセージは各ソケットに個別に送信されます。両方の場合に同じです。ソケットのグループを追跡し、それぞれにメッセージを簡単に送信できる仕組みが有用であり、目的に合ったものであれば部屋を使用します。

ソケットのリストを追跡するために独自のデータ構造を使用する必要がある理由がある場合は、これも問題ありません。それ以上のループを繰り返す必要はなく、メッセージを送信するソケットを見つけるための効率的なスキームがあるので、

関連する問題