我有多个发件人通过Chrome同时连接到我的接收器。当其中一个发件人断开连接(关闭浏览器窗口,刷新页面,失去连接等)时,我希望“onSenderDisconnected”事件在接收器上触发。
到目前为止,只有当连接因任何原因丢失时才会发生这种情况。例如,如果发件人只是刷新,则永远不会丢弃发件人并创建新的发件人。这意味着我可能有2个发件人从同一来源“连接”。
有没有什么办法可以在重新连接时删除旧发件人,或者是否有办法在重新连接时保留相同的senderID?
我还希望为每个发件人提供手动断开会话的选项(使用按钮)。目前执行此操作的唯一方法是停止转换为设备,但会结束所有用户的会话。我怎么能这样做?
答案 0 :(得分:3)
对于第一个问题,我通过跟踪我的发送者"来处理它。手动
每个发件人都有一个" id"。像2这样的东西:客户:23522。冒号(2)之前的第一个数字似乎保持不变,无论特定客户端重新连接到会话的次数。第二个数字(23522)每次都会改变。
通过检查连接客户端的第一个号码,您可以确定它是新客户端还是重新连接的现有客户端。这样,当在客户端/发送者之间来回发送消息时,您可以保留一个" active"客户并忘记旧的未使用的客户ID。
答案 1 :(得分:1)
对于第一个项目(即每次重新加载时添加更多发件人),我已经打开了一个内部问题来调查。对于第二个,目前您不能在不停止应用程序的情况下断开Chrome发送者的连接;您可以(a)停止应用程序+断开连接(如果使用强制转换扩展)或(b)关闭类似于&#34的选项卡;没有发生任何事情"。我们正在考虑将其更接近其他两个平台上的API。