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

0

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

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

MqttOverWSProvider errorCode:8 AMQJS0008I Socket closed

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

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

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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인