Javascript chromecast是如何连接到chrome发送方的?为什么它似乎会增加会话变量?

Javascript chromecast是如何连接到chrome发送方的?为什么它似乎会增加会话变量?,javascript,chromecast,Javascript,Chromecast,我的Chrome发送者和ChromeCast之间有一个正常的连接,就像我可以在两者之间正确地发送和接收消息一样,但是每次发送者连接时,它都会创建一个新的连接,同时递增我猜是会话变量的值:ws://localhost:8008/session?x,其中x是递增的数字 我想知道两件事: 为什么它会在每个连接上递增会话变量?这是设计的吗?或者我没有正确地关闭连接?从我所看到的情况来看,默认情况下连接会发送一个关闭事件,但我可能错了 如果会话是通过设计更新的,是否有方法检测以前的会话,并在一方仍处于活动

我的Chrome发送者和ChromeCast之间有一个正常的连接,就像我可以在两者之间正确地发送和接收消息一样,但是每次发送者连接时,它都会创建一个新的连接,同时递增我猜是会话变量的值:ws://localhost:8008/session?x,其中x是递增的数字

我想知道两件事:

  • 为什么它会在每个连接上递增会话变量?这是设计的吗?或者我没有正确地关闭连接?从我所看到的情况来看,默认情况下连接会发送一个关闭事件,但我可能错了

  • 如果会话是通过设计更新的,是否有方法检测以前的会话,并在一方仍处于活动状态时连接到这些会话


  • 编辑:我知道Chrome sender API不支持Android TictaToe演示应用程序中描述的多连接场景,但我询问的目的是因为当这个“会话”变量增加到某一点时,其他应用程序(如YouTube Android应用程序)开始不规则地预执行,似乎是因为WebSocket连接中的延迟。我很想知道为什么这个连接会增加。从我的测试来看,这完全是出于设计,可能会确保每个客户端都能获得到ChromeCast的唯一连接(即防止下面提到的多控制器场景)。

    当前的Chrome API不支持重新使用现有连接(与支持这种场景的Android API不同)。这是已知的限制,将在将来解决

    嗯,,
    阿里。

    如果Chrome API不支持此功能,那么YouTube桌面站点如何在整个站点导航时保持与接收器的连接?如果一个设备建立会话,然后另一个设备尝试使用Chrome API连接到已经运行的会话,然后,第二个连接断开第一个连接。但是,如果第二台设备尝试使用Android api使用现有会话,则不会有任何问题(这基本上就是TicTacToe示例代码所做的)。在Chrome端,您可以创建会话,只要会话处于打开状态,就可以在创建会话的应用程序中重复使用该会话,但其他Chrome应用程序无法重复使用该会话。@AliNaddaf您能告诉我10月到现在是否已解决了此限制吗?是的,您现在可以通过Chrome加入正在运行的会话。