在多个浏览器标签中使用 Amplify PubSub AWSIoTProvider

0

【以下的问题经过翻译处理】 我们有一个使用Amplify PubSub和Cognito身份验证的Web浏览器应用(Angular)。在单个窗口中,一切都正常:连接、发布、订阅都可以正常工作。

然而,如果我们的用户为应用程序打开第二个浏览器标签/窗口,原来的窗口将断开连接并显示错误:

MqttOverWSProvider errorCode:8 AMQJS0008I Socket closed

在我们的应用程序中,常常会同时在多个标签/窗口中打开它。

是否有一些设置或需要做的事情,以防止第一个打开的标签中断开连接?

1 Antwort
0

【以下的回答经过翻译处理】 您描述的情况表明您可能存在客户端ID冲突。只有一个活动连接可以使用不同的客户端ID。如果第二个连接成功并使用与前一个连接相同的客户端ID,则服务行为是断开现有会话。您的应用程序是否向PubSub provider传递一个值?看起来,如果没有明确定义客户端ID,provider将创建一个新的UUID。 https://github.com/aws-amplify/amplify-js/blob/a047ce73/packages/pubsub/src/Providers/MqttOverWSProvider.ts#L38

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen