RTCDtlsTransport:错误事件

RTCPeerConnection 上发生传输级错误时,RTCDtlsTransport 会收到一个 error 事件。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的 方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("error", (event) => {});

onerror = (event) => {};

事件类型

事件属性

除了 Event 接口上可用的标准属性外,RTCErrorEvent 还包括以下内容

error 只读

一个 RTCError 对象,指定发生的错误;此对象包括发生的错误类型,以及错误发生位置的信息(例如,SDP 中的哪一行或哪个 SCTP 原因代码存在问题)。

描述

传输级错误的指定错误的 RTCError 属性 errorDetail 将具有以下值之一

dtls-failure

DTLS 连接的协商失败,或连接因致命错误而终止。错误的 message 包含有关错误性质的详细信息。如果收到致命错误,则错误对象的 receivedAlert 属性设置为收到的 DTLSL 警报的值。另一方面,如果发送了致命错误,则 sentAlert 设置为警报的值。

fingerprint-failure

RTCDtlsTransport 的远程证书与 SDP 中列出的任何指纹都不匹配。如果远程对等方无法根据提供的指纹将本地证书与之匹配,则不会发生此错误,尽管这种情况可能会导致 dtls-failure 错误。

示例

在此示例中,使用 onerror 事件处理程序属性来设置 error 事件的处理程序。

js
transport.onerror = (ev) => {
  const err = ev.error;

  // …
};

注意:由于 RTCError 不是旧版错误之一,因此 code 的值始终为 0。

规范

未找到规范

未找到 api.RTCDtlsTransport.error_event 的规范数据。
检查此页面是否存在问题 或将缺少的 spec_url 贡献到 mdn/browser-compat-data。还要确保规范包含在 w3c/browser-specs.

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅