RTCDataChannel:协议属性

只读 RTCDataChannel 属性 protocol 返回一个字符串,其中包含正在使用的子协议的名称。如果在创建数据通道时未指定任何协议,则此属性的值为空字符串 ("")。

注意: 此属性的允许值由使用数据通道的网站或应用程序定义。

每个通道都可以拥有定义的子协议的能力让您的应用程序能够例如在一个通道上使用 JSON 对象作为消息,而在另一个通道上使用纯文本,另一个通道上使用原始二进制,甚至使用其他格式。

用于在通道上交换数据的应用程序定义的子协议的标识符字符串。如果没有建立子协议,则此值为空字符串 ("")。

示例

js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel", {
  protocol: "json",
});

function handleChannelMessage(dataChannel, msg) {
  switch (dataChannel.protocol) {
    case "json":
      /* process JSON data */
      break;
    case "raw":
      /* process raw binary data */
      break;
  }
}

规范

规范
WebRTC:浏览器中的实时通信
# dom-datachannel-protocol

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅