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

0

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

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

MqttOverWSProvider errorCode:8 AMQJS0008I Socket closed

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

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

profile picture
专家
已提问 10 个月前65 查看次数
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
专家
已回答 10 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则