RTCDataChannel: protocol 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

只讀 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

瀏覽器相容性

另見