私はこれを調べるのに数時間を費やしました。私は決定的な答えを見つけることができませんでしたので、質問を作成しています。私はWebSocketにはまったく新しいので、回答がどこかで簡単に利用できるなら、高度な謝罪をする。放出されたイベントは、監視されていなくても重大な負荷を発生させますか?
現在、node.jsサーバーにsocket.ioを介していくつかの異なるwebsocketイベントが送信されています。サーバコードの異なる部分を通して、私はそれゆえような行があります:私は二つの異なるタイプがあり
io.sockets.emit('eventTwo', data);
:
io.sockets.emit('eventOne', data);
をのは、コードの他の部分には、また、行が含まれていることを言ってみましょうサーバーに接続するクライアント。クライアントの一つのタイプは、唯一のためのような線を有する、最初のイベントに耳を傾ける:
socket.on('eventOne', function(data) {//blah blah}):
クライアントの他のクラスは、他のイベントに耳を傾け、ひいてはなどの実行の行があります。
socket.on('eventTwo', function(data) {//blah blah});
を両方のクライアントは、部屋のないルートレベルで接続されています。たとえば、最初のグループのクライアントを見ると、「eventOne」イベントだけが監視されるため、このクライアントグループが「eventTwo」イベントのすべてのデータを受け取るかどうか、それらを聞いてはいけません。 クライアントには、すべてのイベントの完全なネットワーク負荷、またはB:視聴しているイベントのみが表示されますか?(またはC:視聴しているイベントの全負荷と、監視していないイベントの部分負荷のみ)
クライアント側のコードがすべてのイベントを監視していなくても、サーバーからのイベントはwebsocketを介して送信され、両方のタイプのクライアントはそれぞれ両方のタイプのイベントに対してネットワーク負荷を受けます。しかし、私の一部は、socket.ioコードが、イベントの内容を判断した後に見ていないイベントに対してペイロード全体を受信することを拒否することによって、クライアントのネットワーク負荷を軽減する可能性があると考えています。
はい、この例では、クライアントの2つのタイプが別の部屋に参加する必要がありますが、私はちょうどよりよいイベントを監視することは洞察力のために、事前にネットワーク負荷に
感謝をどのように影響するかを理解したかったです!
ああ、そうです。説明に1トンありがとう! – IlIIlllIIIlIIlllIlIllIIIlIlI