
- WebRTC 教程
- WebRTC - 首頁
- WebRTC - 概述
- WebRTC - 架構
- WebRTC - 環境
- WebRTC - MediaStream APIs
- WebRTC - RTCPeerConnection APIs
- WebRTC - RTCDataChannel APIs
- WebRTC - 傳送訊息
- WebRTC - 信令
- WebRTC - 瀏覽器支援
- WebRTC - 移動端支援
- WebRTC - 影片演示
- WebRTC - 語音演示
- WebRTC - 文字演示
- WebRTC - 安全性
- WebRTC 資源
- WebRTC - 快速指南
- WebRTC - 有用資源
- WebRTC - 討論
WebRTC - RTCDataChannel APIs
WebRTC 不僅擅長傳輸音訊和影片流,還可以傳輸任何我們可能擁有的任意資料。這就是 RTCDataChannel 物件發揮作用的地方。
RTCDataChannel API
屬性
RTCDataChannel.label (只讀) − 返回包含資料通道名稱的字串。
RTCDataChannel.ordered (只讀) − 如果保證訊息的傳遞順序則返回 true,否則返回 false。
RTCDataChannel.protocol (只讀) − 返回為此通道使用的子協議名稱字串。
RTCDataChannel.id (只讀) − 返回通道的唯一 ID,在建立 RTCDataChannel 物件時設定。
RTCDataChannel.readyState (只讀) − 返回表示連線狀態的 RTCDataChannelState 列舉。可能的值 -
connecting − 表示連線尚未啟用。這是初始狀態。
open − 表示連線正在執行。
closing − 表示連線正在關閉過程中。快取的訊息正在傳送或接收中,但沒有新建立的任務正在接受。
closed − 表示連線未能建立或已關閉。
RTCDataChannel.bufferedAmount (只讀) − 返回已排隊等待發送的位元組數。這是尚未透過 RTCDataChannel.send() 傳送的資料量。
RTCDataChannel.bufferedAmountLowThreshold − 返回 RTCDataChannel.bufferedAmount 被視為較低的位元組數。當 RTCDataChannel.bufferedAmount 降到此閾值以下時,將觸發 bufferedamountlow 事件。
RTCDataChannel.binaryType − 返回連線傳輸的二進位制資料的型別。可以是“blob”或“arraybuffer”。
RTCDataChannel.maxPacketLifeType (只讀) − 返回一個無符號短整型,指示訊息以不可靠模式傳輸時的視窗長度(毫秒)。
RTCDataChannel.maxRetransmits (只讀) − 返回一個無符號短整型,指示如果資料未送達,通道將重傳資料的最大次數。
RTCDataChannel.negotiated (只讀) − 返回一個布林值,指示通道是由使用者代理還是應用程式協商的。
RTCDataChannel.reliable (只讀) − 返回一個布林值,指示連線是否可以以不可靠模式傳送訊息。
RTCDataChannel.stream (只讀) − RTCDataChannel.id 的同義詞
事件處理程式
RTCDataChannel.onopen − 當觸發 open 事件時呼叫此事件處理程式。當資料連線已建立時傳送此事件。
RTCDataChannel.onmessage − 當觸發 message 事件時呼叫此事件處理程式。當資料通道上有可用訊息時傳送此事件。
RTCDataChannel.onbufferedamountlow − 當觸發 bufferedamountlow 事件時呼叫此事件處理程式。當 RTCDataChannel.bufferedAmount 降到 RTCDataChannel.bufferedAmountLowThreshold 屬性以下時傳送此事件。
RTCDataChannel.onclose − 當觸發 close 事件時呼叫此事件處理程式。當資料連線已關閉時傳送此事件。
RTCDataChannel.onerror − 當觸發 error 事件時呼叫此事件處理程式。當遇到錯誤時傳送此事件。
方法
RTCDataChannel.close() − 關閉資料通道。
RTCDataChannel.send() − 透過通道傳送引數中的資料。資料可以是 blob、字串、ArrayBuffer 或 ArrayBufferView。