Tokbox - connectionDestroyed 事件 - 延迟与 networkDisconnected 原因

Tokbox - connectionDestroyed Event - Delay with networkDisconnected Reason

在 Tokbox 中有四个主要事件:

connectionCreated
connectionDestroyed
streamCreated
streamDestroyed

我们正在客户端(纯 JS)上监视这些事件并在服务器上使用 webhooks(PHP)。

connectionDestroyed 事件的对象包含 "reason" 它被销毁的原因。

我们注意到,当原因是 networkDisconnected 时,我们会看到其响应延迟。

其他事件和原因似乎很快就会发生。但是,当网络连接中断时(测试时拔下以太网线或关闭 wifi),在 webhook 确认之前似乎有 5-20 秒的延迟。

有人知道这是不是 "typical"? Tokbox 是故意这样做的吗?是否可能给连接一些时间来重新连接,这样一个小的网络问题就不会过早地完全关闭你?有没有办法改变这个延迟?

如果有人对此有任何见解,我将不胜感激。

谢谢!

来自 TokBox 的 Manik。

当您收到 connectionDestroyed 事件且原因为 networkDisconnected 时,这意味着存在网络问题并且尝试重新连接失败。当 JS SDK 检测到连接丢失时,它会在 30 秒内尝试重新连接 5 次。这就是您看到 connectionDestroyed 事件接收延迟的原因。

要知道 JS SDK 是否正在尝试重新连接,您可以监听以下事件:

session.on(
  sessionReconnecting: () => {
    //
  },
  sessionReconnected: () => {
   //
  },
  sessionDisconnected: () => {
    //
  }
);

有关详细信息,请参阅 Automatic Reconnection 指南。