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

0

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

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

MqttOverWSProvider errorCode:8 AMQJS0008I Socket closed

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

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

profile picture
專家
已提問 5 個月前檢視次數 48 次
1 個回答
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
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南