【问题标题】:Can I make multiple connections at the same time with Stomp?我可以使用 Stomp 同时进行多个连接吗?
【发布时间】:2017-10-26 15:55:35
【问题描述】:

我在我的 Angular 应用中使用 ng2-stomp-service。

建立多个连接(不是多个订阅)有意义吗?过去,我只看到建立了一个连接,然后我们从那里进行了多个订阅。但是现在我的同事建议我建立三个连接,并且我对每个连接都有不同的订阅。理由(有人告诉我)是,如果我们与一个人失去联系,我们仍然与其他人有联系。

我什至不确定我会如何编码。目前,我有一个连接。它看起来像这样:

       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();
            });
        }

但是如果我要建立多个连接,我需要更多的 stomp 实例,比如 this.stomp、this.stomp2、this.stomp3,每个都调用自己的连接函数?或者单个 this.stomp 可以建立多个连接吗?

【问题讨论】:

    标签: javascript angular stomp


    【解决方案1】:

    不,建立多个连接没有意义。您应该做的是建立单个连接,如果该连接丢失,请重新建立它。

    如果您确实有多个连接,很可能如果其中一个掉线,那么所有这些连接都将同时掉线。这可能是由于网络问题或消息代理重新启动或由于不活动而断开连接造成的。为避免因不活动而断开连接,请指定热信号(受 stomp 协议 v1.1 及更高版本支持)。

    您是对的,每个连接都需要一个 stomp 对象(实例)。因此,对于多个连接,您将需要多个 stomp 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 2016-09-13
      • 2011-06-07
      相关资源
      最近更新 更多