2017-10-26 1 views
0

私はAngularアプリでng2-stomp-serviceを使用しています。Stompで複数の接続を同時に行うことはできますか?

それは、複数の接続(ない複数のサブスクリプション)を確立する意味がありますか?過去には、私は1つの接続が行われているのを見ただけで、そこから複数のサブスクリプションを作成しています。しかし今、私の同僚は私が3つのコネクションを作ることを提案しています。合理性(私は言われている)は、もし私たちが1つに接続しなくても、私たちはまだ他の人とつながっているということです。

私は私がこれをコーディングしたいかさえわかりません。現在、私は1つの接続を持っています。それは次のようになります。

 if (this.stomp.status !== 'CONNECTED') { 
      this.stomp.configure(this.socketConfig); 
      this.stomp.startConnect().then((frame) => { 
       this.stomp.done('init'); 
      }); 

      this.stomp.after('init').then(() => { 
       this.reestablishSubscriptions(); 
      }); 
     } 

しかし、私は複数の接続を確立した場合、私はそれぞれが自分を呼び出し、this.stomp、this.stomp2、this.stomp3のように、ストンプ自体の複数のインスタンスを必要とするように思えます独自の接続機能?または、単一のthis.stompで複数の接続を確立できますか?

答えて

0

いいえ、それは複数の接続を確立しても意味がありません。あなたがすべきことは、単一の接続を確立することです。その接続が失われた場合は、再確立してください。

あなたが複数の接続を持っていた場合、それらのいずれかが脱落した場合、それらのすべてを同時にドロップアウトであろうと思われます。これは、ネットワークの問題またはメッセージブローカーが、非アクティブのために接続を再開またはドロップすることによって発生する可能性があります。非アクティブのために接続が切断されないようにするには、ヒートビートを指定します(stompプロトコルv1.1以上でサポートされています)。

あなたは正しい、あなたは接続ごとに1つのストンプオブジェクト(インスタンス)が必要でしょう。したがって、複数の接続の場合、複数のストンプオブジェクトが必要になります。

関連する問題